Новое в JSON.net, пример кода - PullRequest
1 голос
/ 30 декабря 2011

Я запускаю новое приложение WP7, которое получает информацию с сервера DNLA.Сервер поддерживает языки JSON для протокола REST.Я провел небольшое исследование и обнаружил, что json.net очень хорошо рекомендуется.

Я могу получить данные, используя http://192.168.1.1:234/rest/status?media=json Дая мне: {"serverStatus":"STARTED","renderers":[{"uuid":"00a0965fa15c","ipAddress":"192.168.1.10","name":"KDL-52NX803","profileId":"9","status":"ACTIVE"},{"uuid":"1829220b083f","ipAddress":"192.168.1.13","name":"Windows Media Player","profileId":"1","status":"INACTIVE"},{"uuid":"5d70ac53cf8e","ipAddress":"192.168.1.14","name":"Unrecognized device","profileId":"1","status":"UNKNOWN"},{"uuid":"60465a95eec4","ipAddress":"192.168.1.22","name":"Playstation 3","profileId":"4","status":"UNKNOWN"},{"uuid":"001dd860bce4","ipAddress":"192.168.1.9","name":"Xbox 360","profileId":"3","status":"INACTIVE"}]}

Я очень плохо знаком с c #Я читал официальную документацию по Json.NET, но предпочел бы увидеть пример кода, чтобы я переехал.Я создал список для сбора данных «рендеринга» и TextBlock для текущего «serverStatus» сервера.

Если кто-то может помочь и будет очень признателен за ваши усилия

1 Ответ

5 голосов
/ 30 декабря 2011

Для начала, http://json2csharp.com/ удобен для вставки вашего json и создания poco.

public class Renderer
{
    public string uuid { get; set; }
    public string ipAddress { get; set; }
    public string name { get; set; }
    public string profileId { get; set; }
    public string status { get; set; }
}

public class RootObject
{
    public string serverStatus { get; set; }
    public Renderer[] renderers { get; set; }
}

Эта страница содержит простые примеры для сериализации / dserialize.

RestSharp - замечательный клиент HTTP API, поддерживающий WP7. Он будет десериализирован для вас, а также позволит вам реализовать свой собственный сериализатор / десериализатор.

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