如何解析每个键中具有不同键名和相似对象的json

本文关键字:相似 对象 json 何解析 | 更新日期: 2023-09-27 18:25:28

我有这个JSON:

  {
  "response": {
     "PEOPLE": {
      "PERSON1": {
        "name": "jon",
        "last": "jony"
      },
      "PERSON2": {
        "name": "mike",
        "last": "mikey"
      }
    }
  }   
 }

如何将其解析为关键字为PERSONX字符串的词典?

我是c#的新手,知道在Java中我需要有一个类,其中的内部密钥是:"person_name"…

如何解析每个键中具有不同键名和相似对象的json

我建议创建一个类,因为它更容易工作,并且您可以完全控制它

public class Response
{
    public Dictionary<string,Person> People{ get; set; }
}
public class Person
{
    public string Name { get; set; }
    public string Last { get; set; }
}

当属性有不同的名称时,我会使用Dictionary,然后您可以使用LINQ来访问它们。

获取字典的值:

var valueOfFirstPeopleElement=People.FirstOrDefault().Value;

这样你就有了人物类。

为了将json解析为此类,必须使用json转换器进行反序列化。

Response response = JsonConvert.DeserializeObject<Response>(jsonData);

若要执行相反的操作,请改为序列化。

string jsonData = JsonConvert.SerializeObject(response);