C # класс для анализа результата JSON - PullRequest
2 голосов
/ 01 января 2011

Каким должен быть класс ac # для десериализации следующей строки JSON:

{
   "data": [
  {
 "id" : "id0012",
     "comments": {
        "data": [
           {
              "id": "123",
              "from": {
                 "name": "xpto",
                 "id": "5ddd"
              },
              "message": "tttt",
              "created_time": "2010-01-07T09:16:15+0000"
           },
           {
              "id": "222",
              "from": {
                 "name": "wwwww",
                 "id": "343434"
              },
              "message": "3333",
              "created_time": "2020-07-07T09:30:12+0000"
           }
        ],
        "paging": {
           "previous": "prevlink",
           "next": "nextLink"
        }
     }
  }

]}

Спасибо

Ответы [ 3 ]

3 голосов
/ 01 января 2011

Как говорит Hangy, вы можете использовать Json.NET для анализа этой строки.Например:

using System;
using System.IO;
using Newtonsoft.Json.Linq;

namespace EvalTest
{
  public class Test
  {
    static void Main(string [] args)
    {
        string text = File.ReadAllText("test.txt");
        var json = JObject.Parse(text);

        var data = json["data"];
        Console.WriteLine((string) data[0]["id"]);
    }
  }
}

Если вам нужна дополнительная помощь, вам следует задать более конкретный вопрос.

3 голосов
/ 01 января 2011

Ну, есть много разных библиотек JSON для .NET Framework.См. Раздел C # по адресу json.org для получения списка нескольких различных реализаций.Вероятно, наиболее известными из них являются Json.NET , поддерживающие сериализацию, LINQ, BSON и другие!Чтобы быстро начать чтение JSON с Json.NET , вам следует взглянуть на Чтение и запись JSON .

0 голосов
/ 03 ноября 2011

Я использую этот инструмент Jsonclassgenerator .Он может генерировать классы C # для входной строки Json.Вам не нужно использовать точный сгенерированный класс.Но вы можете увидеть формат класса и создать аналогичный в своем проекте.

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