Анонимный пользователь
Дополнительно
Как разобрать JSON с помощью C#?
У меня есть следующий код:
var user = (Dictionary<string, object>)serializer.DeserializeObject(responsecontent);
Входные данные в responsecontent
являются JSON, но они неправильно разбираются в объект. Как мне правильно десериализовать его?
420
15
Я предполагаю, что вы не используете Json.NET (NuGet-пакет Newtonsoft.Json). Если это так, то вам следует попробовать.
Он имеет следующие возможности:
Посмотрите на пример ниже. В этом примере класс
JsonConvert
используется для преобразования объекта в JSON и обратно. Для этого в нем есть два статических метода. ЭтоSerializeObject(Object obj)
иDeserializeObject(String json)
:Как ответили здесь - десериализовать JSON в C и динамический объект#?
Это'ы довольно просто с помощью Json.NET:
Или используя Newtonsoft.В JSON.В LINQ :
Вот несколько вариантов без используя сторонние библиотеки:
См. ссылку для получения дополнительной информации о системе.Веб.Хелперов.В JSON]1.
Обновление: в наше время самый простой способ получить в Интернете.Помощники-это использовать пакет NuGet.
Если вы Don'т заботиться о более ранних версиях Windows вы можете использовать классы окна.Данных.Формат JSON` пространства имен:
Если .NET 4 доступен для вас, посмотрите: http://visitmix.com/writings/the-rise-of-json (archive.org)
Вот фрагмент с этого сайта:
Этот последний Console.WriteLine довольно милый...
Еще один уроженец решения этой проблемы, которая не'т требует каких-либо 3-й партии библиотеки, но ссылка на системы.Веб.Расширения - это класс javascriptserializer. Это не новая, но очень неизвестной причине-в особенности там с 3.5.
..
и обратно
Вы также можете взглянуть на DataContractJsonSerializer
Системы.В JSON работает сейчас...
Установить NuGet https://www.nuget.org/packages/System.Json
Образец:
Используйте этот инструмент для создания класса в JSON:
http://json2csharp.com/
И затем использовать этот класс для десериализации JSON в ваш. Пример:
Ссылки: https://forums.asp.net/t/1992996.aspx?Nested+в формате JSON+десериализации+в+с+объект+и+через+что+объект https://www.newtonsoft.com/json/help/html/DeserializeObject.htm
Попробуйте следующий код:
Следующие От в MSDN место должно я думаю помочь обеспечить некоторую функциональность за то, что вы ищете. Пожалуйста, обратите внимание, указан для Windows 8. Один из таких примеров с сайта приведен ниже.
Он использует окна.Данных.В JSON пространство имен.
Я думаю, самый лучший ответ, который я'видел был @MD_Sayem_Ahmed.
Ваш вопрос "Как я могу распарсить JSON с помощью C#", но похоже, что вы хотите декодировать формат JSON. Если вы желаете, чтобы расшифровать его, Ахмед'ы ответ-это хорошо.
Если вы пытаетесь сделать это в веб ASP.NET API-интерфейс, самый простой способ-создать объект передачи данных, который содержит данные, которые вы хотите назначить:
Вы просто добавить заголовок приложения/JSON для вашего запроса (если вы не с помощью Fiddler, например). Затем вы можете использовать это в веб ASP.NET API, как указано ниже:
Это помогло мне много, когда я работаю на моем веб-API и сделал мою жизнь супер просто.
Системы.Текст.В JSON
.чистая ядра 3.0 поставляется с системой
.Текст.Формат JSON
встроенный это значит, что теперь вы можете десериализации/сериализации в JSON без использование сторонней библиотеки.Чтобы сериализовать свой класс(ы) в JSON-строку:
Чтобы десериализовать JSON в строго типизированный класс:
Так что если у вас есть класс, как показано ниже:
Одна вещь отметить состоит в том, что система.Текст.Формат JSON
**не** автоматически обрабатывать
верблюжьего` в JSON свойства *когда вы используете свой собственный код** (тем не менее, когда с использованием MVC/веб-API запросов и связыватель модели).Так что если у вас есть в формате JSON, как показано ниже, и "порядок", как и выше, то он не будет десериализовать в класс.
Для устранения этой ошибки необходимо пройти
JsonSerializerOptions
в качестве параметра (к сожалению, это's не возможно, чтобы настроить это приложение в ширину).Системы
.Текст.Формат JSON
также доступна для .NET и .Объем стандартный в качестве ню-получить пакет система.Текст.В JSON