0

Получаю строку json с ошибкой от сервера ...api

{
  "error": {
    "code": "FaceNotFound",
    "message": "Face is not found."
  }
}

Мне нужно вытащить под значение строки error - FaceNotFound из "code" Я пробовал такой способ

var cod = verify["code"].Value<string>();

Но это не работает

Walker
  • 542
  • Ну так а что за объект и как пытаешься вытащить значение? – yolosora Nov 04 '18 at 08:51
  • 3
  • Это JObject это json, я знаю как вытаскивать прямые значения FaicIdbool = verify["isIdentical"].Value<bool>();, но у меня не получается вытащить под строку FaceNotFound из error, ответ выше не совсем то что мне нужно, там представлена десериализация всего json , а мне нужно получить одно значение – Walker Nov 04 '18 at 09:46
  • 1
    Представьте, что JSON это папка с некими файлами/папками внутри. Как вы напишете путь до файла test.txt, который находится в папке logs на диске C? А легко: С:\logs\test.txt. Так в JSON все точно также, только надо не забывать и про тип данных (массив например). То есть у вас идет сначала объект error, он содержит в себе code и message. Так и пишите verify["error"]["code"]. Но я бы вам не советовал использовать JObject, ибо с ним вы легко можете упустить что либо (особенно, если сменится значение на сервере). Так что советую все же создать структуру из классов и работать с ней! – EvgeniyZ Nov 04 '18 at 10:48
  • Вообще, показанный json принципиально невалиден: подряд две фигурные скобки не разрешены. Покажите реальный json. – Alexander Petrov Nov 04 '18 at 11:01
  • {"error":{"code":"FaceNotFound","message":"Face is not found."}} вторые скобки это ошибка при копировании – Walker Nov 04 '18 at 11:55

1 Answers1

0

Как вышще указал EvgeniyZ

var cod = verify["error"]["code"].Value<string>(); 
Walker
  • 542