Я работаю с Json.NET, я извлек следующий JSON из веб-страницы:JSON.net не находя значение свойства при свойство существует
"{\"Response\":
[{
\"iconPath\":\"",
\"membershipType\":1,
\"membershipId\":\"124877458474\",
\"displayName\":\"DarylJG\"
}],
\"ErrorCode\":1,
\"ThrottleSeconds\":0,
\"ErrorStatus\":\"Success\",
\"Message\":\"Ok\",
\"MessageData\":{ }}"
Теперь, я получаю следующее сообщение об ошибке при пытаясь вернуть строку из этого свойства:
необработанное исключение типа «Microsoft.CSharp.RuntimeBinder.RuntimeBinderException» произошло в System.Core.dll
Дополнительная информация: «Newtonsoft.Json.Linq.JArray» не содержит определение для «» IconPath
которого на IconPath действительно существует в этом файле JSON. Код я использую:
var response = client.GetAsync("CorrectServerPath & Auth").Result;
var content = response.Content.ReadAsStringAsync().Result;
dynamic item = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
return item.Response.iconPath;
Это строки кода, которые бросали эту ошибку, но следующий код:
return item.Message;
вернется OK
Так что мой общий вопрос, как я могу достичь iconPath в предоставленном json-файле с помощью JSON.net? Как, я в недоумении. Исследовательский материал придумал ничего & Возможно, используя неправильные условия поиска
Ваш элемент 'Response' - это массив, а не объект. Попробуйте 'item.Response [0] .iconPath' –
@CollinDauphinee Это огромный надзор. Вы предпочли бы, чтобы это ответ, чтобы я мог принять соответственно? Ваша рекомендация решила проблему –