在C#WebForm上反序列化动态JSON数组

Dev*_*ned 4 c# datatable json dictionary deserialization

嗨,我正在我的API上生成一个JSON,我试图在我的Web应用程序中使用代码隐藏C#,但我不能很好地反序列化.

我的JSON有一个带有JSON数组的对象,并且数组中的元素是动态的,所以我不能用这些项创建一个固定的类,因为我的JSON可以有N个项目.

{
    "MAINOBJET": [{
        "ITEM1": "23800",
        "ITEM2": "Dahl; Police",
        "ITEM3": "test@test.net"
    },
    {
        "ITEM1": "23802",
        "ITEM2": "Steve ; Police",
        "ITEM3": "test2@test.net"
    }]
}
Run Code Online (Sandbox Code Playgroud)

那么如何将其反序列化为DataTable,列表或字典呢?谢谢

Met*_*Man 5

在这里你可以做一些像下面这个例子应该能够让你开始的东西..用你的Jason Text替换结构/例子

让我说我的JSON脚本如下所示

{
    "some_number": 253.541, 
    "date_time": "2012-26-12T11:53:09Z", 
    "serial_number": "SN8675309"
    "more_data": {
        "field1": 1.0
        "field2": "hello JSON Deserializer" 
    }
}
Run Code Online (Sandbox Code Playgroud)

将JSON jsonText分配给变量并将其传递给以下C#代码

using System.Web.Script.Serialization;

var jsonSerialization = new JavaScriptSerializer();
var dictObj = jsonSerialization.Deserialize<Dictionary<string,dynamic>>(jsonText);
Console.WriteLine(dictObj["some_number"]); //outputs 253.541
Console.WriteLine(dictObj["more_data"]["field2"]); //outputs hello JSON Deserializer
Run Code Online (Sandbox Code Playgroud)