【问题标题】:deserialize nested json data c#反序列化嵌套的json数据c#
【发布时间】:2020-04-02 19:27:20
【问题描述】:

我正在使用 javascriptserializer 反序列化 json 数据。我被困在如何解析这些数据并将值分配给变量。

json:

  {
    "data1": {
"EntityList": "Attribute",
"KeyName": "AkeyName",
"Value": "Avalue"
    },
    "data2": {
        "Id": "jsdksjkjdiejkwp12193jdmsldm",
        "Status": "OK"
    }
}

我需要将 data1 中的 EntityList、KeyName 的值分配给一个变量。我将这个 json 字符串读入一个变量数据

c#:

var data = "json string"; //variable with json string
JavaScriptSerializer jss = new JavaScriptSerializer();
dynamic drecord = jss.Deserialize<dynamic>(data);

我正在尝试将此嵌套的 json 解析为 2 个变量 EntityList 和 KeyName。

【问题讨论】:

  • 我一直在使用 Json.Net。但是你不能只做“drecord.data1.EntityList”和“drecord.data1.KeyName”来获取变量。我一定是错过了什么
  • 嗨@PeterFromCologne,我之前尝试过,但没有成功。
  • HI @user25407 你用了什么反序列化库?
  • 嗨@OxQ,System.Web.Script.Serialization.JavaScriptSerializer

标签: c# json javascriptserializer


【解决方案1】:

如果我理解你是正确的,那么它一定是这样的:

        JavaScriptSerializer jss = new JavaScriptSerializer();
        dynamic record = jss.Deserialize<dynamic>(data);
        var data1 = record["data1"];

        var entityList = data1["EntityList"];
        var keyName = data1["KeyName"];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    相关资源
    最近更新 更多