【问题标题】:How to get key value from input json in C# [duplicate]如何从C#中的输入json中获取键值[重复]
【发布时间】:2021-05-26 04:12:30
【问题描述】:

我有一个以下格式的 json

  {{
      "encoding_version": 1,
      "root": {
        "_type": "dictionary",  
        "test1": 0,
        "test2": 6593,
        "test3": ".key.test",
        "test4": "key.test",
        "test5": ".key.14",     
        "test6": 6159
      }
    }}

我正在尝试获取 "test5" 值,即 14

var data = (JObject)JsonConvert.DeserializeObject(inputJson);
var id = data["test5"];
            
            

但是让它为空,请帮忙。

【问题讨论】:

标签: c# json.net


【解决方案1】:

您为 JSON 提供了两次大括号,我在您的输入 JSON 中做了这个小修正:

{
  "encoding_version": 1,
  "root": {
  "_type": "dictionary",
  "test1": 0,
  "test2": 6593,
  "test3": ".key.test",
  "test4": "key.test",
  "test5": ".key.14",
  "test6": 6159
  }
}

由于您的反序列化是正确的,并且您正在寻找"test5" 的值,即".key.14"。您想要的密钥在 JSON 中向下两级,即首先选择 "root",然后选择 "test5"。因此,您的代码将如下所示:

string test5Value = (string)result["root"]["test5"]; 

输出 => .key.14

如果您想要 14,那么您可能需要拆分输出字符串并取出所需的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 2018-03-01
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多