Любая идея о том, как это сделать? Если это невозможно, то какая хорошая библиотека JSON для C#?Использование System.Json для проектов, отличных от Silverlight?
ответ
Json.NET - отличная библиотека. NET json. Поддерживает LINQ, чтение/запись и преобразование объектов в json.
Если вы просто ищете JSON кодирования/декодирования, есть официальная библиотека расширения System.Web от Microsoft, что делает это, наверняка вы, вероятно, уже есть эта сборка (System.Web.Extensions):
http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
Пример:
using System;
using System.Web.Script.Serialization;
class App
{
static void Main(string[] args = null)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
String sJson = "{\"Name\": \"Your name\"}";
DesJson json = jss.Deserialize<DesJson>(sJson);
Console.WriteLine(json.Name);
}
}
class DesJson {
public string Name {get; set;}
}
Вот метод extenstion для сериализации любого экземпляра объекта в JSON:
public static class GenericExtensions
{
public static string ToJsonString<T>(this T input)
{
string json;
DataContractJsonSerializer ser = new DataContractJsonSerializer(input.GetType());
using (MemoryStream ms = new MemoryStream())
{
ser.WriteObject(ms, input);
json = Encoding.Default.GetString(ms.ToArray());
}
return json;
}
}
Вам необходимо добавить ссылку на System.ServiceModel.Web, чтобы использовать DataContractSerializer.
System.Json
теперь доступен в не-Silverlight проектов с помощью NuGet (система управления пакетами .NET), и, как мы надеемся будет выпущен в рамках базовой основы в vnext. Пакет NuGet называется JsonValue.
Представьте себе, что мы имеем следующий JSON в строке переменной json
:
[{"a":"foo","b":"bar"},{"a":"another foo","b":"another bar"}]
Мы можем записать значение «другой бар» в консоль, используя следующий код:
using System.Json;
dynamic jsonObj = JsonValue.Parse(json);
var node = jsonObj[1].b;
System.Console.WriteLine(node.Value);
Пакет 'System.Json' был снят с производства. Вы можете найти соответствующие классы в самой структуре. –
Владелец заблокировал этот пакет :( – Tito
@PatrickHofman: В какой версии вы имеете в виду? Последний почти стабильный выпуск был https://www.nuget.org/packages/System.Json, но теперь они также устарели. – Sebastian
другой опция должна использовать реализацию Mono System.Json, Мне удалось выполнить резервное копирование на C# 2.0 с несколькими незначительными изменениями.
https://github.com/mono/mono/tree/master/mcs/class/System.Json/System.Json
- 1. Silverlight WebApp на платформах, отличных от Windows,
- 2. Есть ли инструмент «графа влияния» для проектов, отличных от GitHub?
- 3. Django-подобный API базы данных для проектов, отличных от Django
- 4. Ошибка Visual Studio 2015 Nuget для проектов, отличных от MVC6
- 5. Использование Visual Studio 2010 в качестве редактора для проектов, отличных от VS.
- 6. Использование «Использование» для вещей, отличных от утилизации ресурсов
- 7. WIndows 10 Core IOT Типы проектов, отличных от UAP
- 8. Использование sqlsrv_connect на платформах, отличных от Windows
- 9. Использование пакетов от проектов Xamarin
- 10. Использование структур данных приложений, отличных от xml
- 11. Использование методов, отличных от членов в C++
- 12. System.Json отсутствует?
- 13. Модернизация Кордовы для приложений, отличных от cli
- 14. Silverlight и обратные вызовы в потоках, отличных от UI
- 15. Использование модели автозапуска Django для вещей, отличных от разрешений
- 16. Использование файлов ресурсов для вещей, отличных от языка
- 17. Использование объекта присваивания для удаления свойств, отличных от -ES6
- 18. Pandas - Использование 'ffill' для значений, отличных от Na
- 19. Использование TreeWalker для извлечения текстовых узлов, отличных от Javascript
- 20. Использование пакетов, отличных от OSGi, в плагинах Eclipse
- 21. System.Json имен отсутствует Windows Phone 7
- 22. Как красиво печатать с System.Json?
- 23. Использование DirectShow API от Silverlight
- 24. Как использовать Xamarins System.JSON?
- 25. Использование maven для проектов perl
- 26. инструменты для разработчиков для os ', отличных от окон
- 27. Использование Maven для объединения проектов
- 28. System.Json depreacted. Какая альтернатива?
- 29. Использование C препроцессор для отличных C
- 30. Типы проектов в SilverLight VS2010
Я посмотрел на него. Кажется, что это слишком предприятие для сравнения с System.Json. Я в основном стараюсь использовать Json для сериализации и десериализации списков неявных структур данных (кортежи и т. Д.). Я уже работаю в основном с динамическими данными, поэтому его способность сериализовывать сильно типизированные объекты не совсем то, чем я в восторге, а другой метод слишком многословный. – Patrick
Он выполняет динамические данные так же, как System.Json, а также сериализует/десериализует: JObject o = JObject.Parse ("{'first_name': 'Jeff', 'age': 30}"); Console.WriteLine (o ["first_name"]); –
Это лучше. Мне очень нравились неявные операторы класса JsonValue. Я могу просто дать ему шанс. – Patrick