【问题标题】:How to parse such type of JSON (Nested) in C#如何在 C# 中解析这种类型的 JSON(嵌套)
【发布时间】:2019-02-01 15:07:36
【问题描述】:

我想在 C# 中解析这种类型的 json。如果我想解析“edit”、“0001”、“Password”和“hasParent”的值,该怎么做?

{
  "edit": {
    "0001": {
      "PKey": [
        "Password"
      ],
      "hasParent": 0
    }
  }
}

【问题讨论】:

  • 您想在您的 JWT 中输入密码?

标签: c# json serialization deserialization json-deserialization


【解决方案1】:

从该 JSON 创建一个 JObject 并像使用字典一样访问这些值。比如这样的

var jObject = JObject.Parse(json);
var innerJObject = JObject.Parse(jObject["0001"]); // there are better ways to do it, just check out the newtonsoft docs

也可以创建对象结构,使用data annotation

public class MyClass
{
   [JsonProperty("edit")]
   public MySubClass Subclass { get; set; }
   // ... more properties
}

然后继续使用JsonConvert.DeserializeObject<MyClass>(json);

【讨论】:

  • 如何访问这些值?表示有很多值,如 0002,0003 等以及 Password1、Password1 等
  • 如果您正确阅读示例,您会发现。样本提供了该信息。最简单的方法是创建一个数据结构并使用如上所述的 JsonProperty。然后只需反序列化整个对象结构。上面也有描述。
  • 我想将“0001”和“密码”关键字保存在另一个变量中。该怎么做?
  • 如上所述使用 jobject 并像使用字典一样访问字段。
  • 我做了,阅读答案。 jobject 也有一个示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
  • 1970-01-01
  • 2017-12-18
  • 2021-03-17
  • 2016-01-28
相关资源
最近更新 更多