Alex_Wells
@Alex_Wells
PHP/Kotlin

Как достать значение из JSON массива?

Здравствуйте. Есть массив, возвращаемый одним API, вот он: pastebin.com/7atf5CzT
Мне нужно достать каждое значение 'value' для каждого названия (ключа), к примеру AK-47 | Aquamarine Revenge (Battle-Scarred) => 1420. Использую для парсинга newtonsoft.json библиотеку. Я уже и так, и сяк переробывал но не получается. Что не так?
dynamic decoded = JsonConvert.DeserializeObject(response.Body);
                decoded = decoded.response;
                foreach (dynamic item in decoded.items)
                {
                    Console.WriteLine(item.value); // RuntimeBinderException: JProperty does not contain a definition for 'value'
                    Console.WriteLine(item[2]);  // InvalidOperationException: cannot access child value on JProperty
                    Console.WriteLine(item.Name.ToString()); // работает отлично
                }


Собственно key достается отлично, а value - ну никак. Не работает ни .value, ни по индексу, ни ["value"], никак! Пробывал даже .GetValue("value") - тоже не работает. И да - я уверен, что там точно содержится 'value', так-как я выводил item целиком и там он присутствовал.
  • Вопрос задан
  • 1226 просмотров
Решения вопроса 1
dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go
dynamic obj = JsonConvert.DeserializeObject(json);
            var resp = obj.response;
            foreach (JProperty item in resp.items)
            {
                var token = item.FirstOrDefault();
                if (token != null)
                    Console.WriteLine(token["value"]);
            }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы