【问题标题】:Deserialize a Dynamic JSON Array on C# WebForm在 C# WebForm 上反序列化动态 JSON 数组
【发布时间】:2012-12-12 05:16:04
【问题描述】:

您好,我正在我的 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"
    }]
}

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

【问题讨论】:

标签: c# json dictionary datatable deserialization


【解决方案1】:

在这里你可以做一些类似下面的事情这个例子应该能够让你开始..用你的 Jason 文本替换结构/例子

假设我的 JSON 脚本如下所示

{
    "some_number": 253.541, 
    "date_time": "2012-26-12T11:53:09Z", 
    "serial_number": "SN8675309"
    "more_data": {
        "field1": 1.0
        "field2": "hello JSON Deserializer" 
    }
}

将您的 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

【讨论】:

  • 好消息..我很高兴能够向您伸出援助之手
猜你喜欢
  • 1970-01-01
  • 2017-01-18
  • 2013-05-27
  • 2021-01-13
  • 2021-09-14
  • 2021-10-13
  • 2017-10-16
  • 2012-09-20
  • 1970-01-01
相关资源
最近更新 更多