2011-01-01 3 views
2

Как должно быть переменного тока # класс для десериализации на следующие JSON строку:C# класс для разбора 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

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

+0

Спасибо за ответ. Но проблема связана с этой конкретной json-строкой. – user285677

+1

@ user285677: Итак, вы * попытались * использовать Json.NET с этой строкой? Если да, то что не так? –

+0

Проблема в том, что я не могу запросить всю строку json непосредственно классу C#, потому что «комментарии» состоят из одного словаря с массивом сообщений и класса подкачки. – user285677

3

Как говорится, вы можете использовать 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"]); 
    } 
    } 
} 

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

+0

Я не уверен, но это почти так, как если бы OP просил класс, который бы сериализовал что-то вроде примера. – Rytmis

0

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

Смежные вопросы