Newtosoft.Json | API

188
21 марта 2018, 02:19

Никак не пойму, в чем может быть ошибка. Прошу взглянуть:

var get = new HttpRequest();
string getgive = get.Get("http://samples.openweathermap.org/data/2.5/weather?id=2172797&appid=b6907d289e10d714a6e88b30761fae22").ToString();
dynamic json = JObject.Parse(getgive);
JToken userid = json;
string last = json["country"];
richTextBox1.Text = "Страна: " + last;

Если в место "country" ввести "name" - то все выводит из JSON схемы которую мы получили, но если вывести "country" - то оно не выводиться, хотя есть в схеме точно так же как и "name".

Пробовал даже с API VK Пример:

var get = new HttpRequest();
string getgive = get.Get("https://api.vk.com/method/users.get?user_id=1&v=5.52").ToString();
dynamic json = JObject.Parse(getgive);
JToken userid = json.["last_name"];
richTextBox1.Text = "Фамилия: " + userid;

Не выводит он фамилия, хотя "last_name" в схеме есть.

Никак не могу понять ошибку.

Answer 1

Скажите, а где вы видите country? Я вам даже визуализирую ваши данные:

А где вы видите last_name?

Вот у вас есть папка на диске C, скажем Мои видео, она в свою очередь находиться в папке Разное. Вот вам надо открыть Мои видео, вы будете в адресной строке так и писать? Нет! Вы же обязаны будете написать полный путь до указанной директории, то есть C:\Разное\Мои видео, не как не Мои видео.

Тот же пример можно взять к примеру, к сайту VK. Вот вам надо открыть аудиозаписи, вы что напишите в адресной строке https://vk.com/audios1234 или audios1234? Думаю ответ очевиден.

Ну а теперь интересное, вы не поверите, но в JSON работают точно такие же правила! Вы не можете взять country, который в свою очередь находиться в sys, вам нужно указывать полный путь, то есть в вашем случае это ["sys"]["country"].

READ ALSO
Как подгрузить зависимые dll?

Как подгрузить зависимые dll?

Есть сервис Scheduler, к которому необходимо подключить плагинВ app

247
Стоит ли дробить классы?

Стоит ли дробить классы?

Код с классом

218
Visual Studio 2017 не включается “View White Space” а очень нужно

Visual Studio 2017 не включается “View White Space” а очень нужно

Хочу чтобы отображались пробелы и табуляторы как тут на втором скриншоте:

231
Ошибка сборки в Gradle

Ошибка сборки в Gradle

Добрый день! При сборке проекта в Gradle системы в Unity 5, наблюдается такие ошибки, пробовали удалять debuggable из всех манифестов, так же ставить...

171