C#类解析JSON结果

时间:2011-01-01 19:43:46

标签: c# 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 个答案:

答案 0 :(得分:3)

嗯,.NET Framework有很多不同的JSON库。有关几种不同实现的列表,请参阅json.org的C#部分。那些最着名的库可能是Json.NET,它支持序列化,LINQ,BSON等等!要快速了解使用Json.NET阅读JSON,您应该查看Reading and Writing JSON

答案 1 :(得分:3)

正如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"]);
    }
  }
}

如果您需要更多帮助,您应该提出更具体的问题。

答案 2 :(得分:0)

我使用此工具Jsonclassgenerator。它可以为输入Json字符串生成C#类。您不必使用生成的确切类。但是你可以看到类的格式并在你的项目中创建一个类似的格式。