如何将JSON解析为C#对象?

时间:2017-06-23 16:10:15

标签: c# json

我有需要从C#访问的JSON数据。章节元素如下所示:

"chapters": [
    [
      2, 
      1416420134.0, 
      "2", 
      "546cdb2645b9efbff4582d51"
    ], 
    [
      1, 
      1411055241.0, 
      null, 
      "541afe8945b9ef69885d3d74"
    ], 
    [
      0, 
      1414210972.0, 
      "0", 
      "544b259c45b9efb061521235"
    ]
]

以下是我的C#类,用于包含该数据:

public class test
{
    public string[] chapters { get; set; }
}

public class TChapter
{
    public test[] aa { get; set; }
}

如何将JSON解析为C#对象?

1 个答案:

答案 0 :(得分:0)

使用Newtonsoft JSON,您需要执行以下操作

using System;
using Newtonsoft.Json;

namespace JsonDeserializationTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var chaptersAsJson = "[" +
                                 "    [" +
                                 "        2," +
                                 "        1416420134.0," +
                                 "        \"2\"," +
                                 "        \"546cdb2645b9efbff4582d51\"" +
                                 "    ], " +
                                 "    [" +
                                 "        1," +
                                 "        1411055241.0," +
                                 "        null," +
                                 "        \"541afe8945b9ef69885d3d74\"" +
                                 "    ], " +
                                 "    [" +
                                 "        0," +
                                 "        1414210972.0," +
                                 "        \"0\"," +
                                 "        \"544b259c45b9efb061521235\"" +
                                 "    ]" +
                                 "]";
            var chaptersAsTwoDObjectArray = JsonConvert.DeserializeObject<object[][]>(chaptersAsJson);

            // Use the chapters array
            foreach (object[] chapter in chaptersAsTwoDObjectArray)
            {
                // what do you want to do with the object array?
                Console.WriteLine(String.Join(", ", chapter));
            }

            Console.WriteLine("Finished.");
        }
    }
}

请注意,您的课程不会与您的JSON对齐。