Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
5 / 5 / 1
Регистрация: 21.09.2013
Сообщений: 66

Распарсить строку с кодом Json

23.09.2014, 17:46. Показов 1338. Ответов 7

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане! Как распарсить следующую строку(нужны данные которые находятся после "data":[]):
JSON
1
2
3
{"success":1,"ctlr":"pairs","error":"","data":[
{"id":21,"name":"BTC_RUR","high":16690,"low":14800,"last":16248,"average":16191.9208166,"buy":15950,"sell":16245,"volume":178.24382293,"total":2891732.5059242},
{"id":23,"name":"LTC_RUR","high":180,"low":168,"last":179.99,"average":173.94313125,"buy":168.2,"sell":179.99,"volume":128.43019655,"total":22160.0912364}]}
допустим name = "BTC_RUR"
high = 16690 и т.д.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2014, 17:46
Ответы с готовыми решениями:

Распарсить Json строку
Доброго времени суток. При попытке распарсить строку в формате Json у меня возник вопрос - можно ли ее вообще распарсить. Вот строка: ...

Распарсить строку типа Json
Здравствуйте, получаю строку типа Json. Так вот в ней нужно достать ID (выделено стрелочками). Как я могу разобрать строку и вытащить это...

Как распарсить строку JSON и получить оттуда только одно значение?
Сервер возвращает мне длинную JSON строку. Из нее мне нужно вытащить только ID. Я сделал так: public class IDResponse { ...

7
1 / 1 / 1
Регистрация: 11.06.2013
Сообщений: 6
23.09.2014, 17:49
Цитата Сообщение от kladim Посмотреть сообщение
как распарсить следующую строку
Ну это вообще тривиально. Берешь Json.NET ( https://json.codeplex.com/ ) и потом

C#
1
2
dynamic d = JObject.Parse("{...");
decimal high = d.data[0].high;
0
5 / 5 / 1
Регистрация: 21.09.2013
Сообщений: 66
23.09.2014, 18:05  [ТС]
Цитата Сообщение от Нахлобуч Посмотреть сообщение
Ну это вообще тривиально.
Что то не вообще тривиально... а можно поподробнее?
0
1 / 1 / 1
Регистрация: 11.06.2013
Сообщений: 6
23.09.2014, 18:10
Лучший ответ Сообщение было отмечено kladim как решение

Решение

Цитата Сообщение от kladim Посмотреть сообщение
Что то не вообще тривиально... а можно поподробнее?
Скачай с сайта библиотеку, добавь ее в References проекта и:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using Newtonsoft.Json.Linq;
 
namespace CoinParser
{
    class Program
    {
        static void Main(string[] args)
        {
            var json = @"{""success"":1,""ctlr"":""pairs"",""error"":"""",""data"":[
{""id"":21,""name"":""BTC_RUR"",""high"":16690,""low"":14800,""last"":16248,""average"":16191.9208166,""buy"":15950,""sell"":16245,""volume"":178.24382293,""total"":2891732.5059242},
{""id"":23,""name"":""LTC_RUR"",""high"":180,""low"":168,""last"":179.99,""average"":173.94313125,""buy"":168.2,""sell"":179.99,""volume"":128.43019655,""total"":22160.0912364}]}";
 
            dynamic coins= JObject.Parse(json);
 
            foreach(var entry in coins.data)
                Console.WriteLine("{0} - high: {1}, low: {2}", entry.name, entry.high, entry.low);
        }
    }
}
1
5 / 5 / 1
Регистрация: 21.09.2013
Сообщений: 66
23.09.2014, 18:44  [ТС]
Если по вашему то код работает... я прислал строку с двумя парами а их порядка 20 штук. И, зачем редактировать саму строку(вы добавили кавычки)?!
0
Life Builder
 Аватар для sk007
531 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,755
23.09.2014, 19:21
Цитата Сообщение от kladim Посмотреть сообщение
зачем редактировать саму строку(вы добавили кавычки)?!
вот почитайте
Чем можно заменить двойные кавычки?
МСДН
0
5 / 5 / 1
Регистрация: 21.09.2013
Сообщений: 66
23.09.2014, 19:56  [ТС]
Вот, что я получаю:
Цитата Сообщение от kladim Посмотреть сообщение
JSON
1
2
3
{"success":1,"ctlr":"pairs","error":"","data":[
{"id":21,"name":"BTC_RUR","high":16690,"low":14800,"last":16248,"average":16191.9208166,"buy":15950,"sell":16245,"volume":178.24382293,"total":2891732.5059242},
{"id":23,"name":"LTC_RUR","high":180,"low":168,"last":179.99,"average":173.94313125,"buy":168.2,"sell":179.99,"volume":128.43019655,"total":22160.0912364}]}
А вот то, что сделано со строкой в коде ниже:
Цитата Сообщение от Нахлобуч Посмотреть сообщение
C#
1
2
3
var json = @"{""success"":1,""ctlr"":""pairs"",""error"":"""",""data"":[
{""id"":21,""name"":""BTC_RUR"",""high"":16690,""low"":14800,""last"":16248,""average"":16191.9208166,""buy"":15950,""sell"":16245,""volume"":178.24382293,""total"":2891732.5059242},
{""id"":23,""name"":""LTC_RUR"",""high"":180,""low"":168,""last"":179.99,""average"":173.94313125,""buy"":168.2,""sell"":179.99,""volume"":128.43019655,""total"":22160.0912364}]}";
То есть, человек в ручную добавил кавычки. А смысл?!?! Теперь надо искать в строке символы \" и добавлять их? Вопрос то не в этом.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
23.09.2014, 21:52
Цитата Сообщение от kladim Посмотреть сообщение
А смысл?
Смысл в том, что человек вам для примера вставил эту строку прямиком в код, а чтобы этот код скомпилировался, строку надо заэкранировать.
Если читать ее из файла или, по крайней мере, не прописывая прямиком в коде, то ничего менять не нужно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2014, 21:52
Помогаю со студенческими работами здесь

Как правильно распарсить json строку и какой для этого нужен класс?
Что-то вообще в голову не лезет, как правильно распарсить такую строку и какой для этого нужно написать класс: { "data":...

Распарсить с помощью Json.Net приходящий ответ в виде JSON
Нужна помощь с json {"success":true, "rgInventory":{ "1025429056":{ "id":"1025429056", "classid":"310779217",...

Распарсить Json строку
есть строчка помогите распарсить ее ( составьте регулярку) или дайте линку почитать как правильно это сделать. или же лучше - pos...

JSON и Android: распарсить строку
Ребята помогите распарсить строку вида Делал так: public class JSON { private JSONObject jsonObject; ...

Как распарсить json строку VK
Делаю запрос на VK API, получаю строку вида: Как теперь достать отсюда элементы? Нашел у себя "DBXJSON.hpp", но ломаюсь с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru