Общий анализатор JSON в .NET / WPF? - PullRequest
7 голосов
/ 03 декабря 2009

Я прочитал множество учебных пособий о том, как десериализовать объект JSON для объекта конкретного объекта с помощью DataContractJsonSerializer. Однако я хотел бы десериализовать свой объект в словарь, состоящий из строк, массивов или словарей, например System.Json, когда используется Silverton, когда я говорю JsonObject.Parse (myJSONstring).

Есть ли эквивалент System.Json, который я могу использовать в своем проекте WPF?

(просто краткая справка: я выбираю объекты JSON, которые имеют много информации, и я просто хочу использовать немного для заполнения массива String)

Приветствия

Nik

Ответы [ 4 ]

8 голосов
/ 30 октября 2012

Просто используйте встроенный в .NET JavaScriptSerializer.

var jss = new JavaScriptSerializer();
var data = jss.Deserialize<dynamic>(jsonString);

//"data" actually implements IDictionary<string, object>
var p1 = data["Property1"];
var p2 = data["Property2"];

Не забудьте сослаться на "System.Web.Extensions"

3 голосов
/ 03 декабря 2009

Взгляните на раздел C # (пролистайте вниз): http://json.org/, у них есть несколько реализаций сериализаторов и парсеров, которые должны помочь.

1 голос
/ 03 декабря 2009

Я успешно использую JayRock: http://jayrock.berlios.de/

public class JayRockMarshaller : IMarshaller
{
    public ICollection Read(string text)
    {
        return (ICollection)new ImportContext().Import(new JsonTextReader(new StringReader(text)));
    }

    public string Write(ICollection objectToMarshal)
    {
        var writer = new StringWriter();
        new ExportContext().Export(objectToMarshal, new JsonTextWriter(writer));
        return writer.ToString();
    }
}

Работает как для словарей, так и для списков, как сон.

0 голосов
/ 26 марта 2012

Также посмотрите на https://github.com/jlarsson/Kiwi.Json, он обрабатывает все виды типов данных, и вы можете легко создать свой собственный конвертер, если встроенный не подходит.

Есть блог, где вы можете найти образцы, например: http://dancewithcode.wordpress.com/2012/03/24/case-study-custom-json-converter-for-datatable/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...