来自JSON的自定义C#对象

Ste*_*vić -3 .net c# json

我得到以下JSON响应.

[
  {
    "Issue": {
      "ID": 80,
      "Name": "Cold",
      "Accuracy": 90,
      "Icd": "J00",
      "IcdName": "Acute nasopharyngitis [common cold]",
      "ProfName": "Common cold",
      "Ranking": 1
    },
    "Specialisation": [
      {
        "ID": 15,
        "Name": "General practice",
        "SpecialistID": 0
      }
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

我试着按照这里给出的指示.但我似乎无法在这里找到解决方案.并且在文档中仅解释了已预定义类的方案.有帮助吗?

小智 5

推定

你的问题甚至都不清楚.你在问什么?我假设你问的是如何从那个JSON创建一个C#类?

首先,JSON是一个数组(如果它的顶级标签是[]它是一个数组本身.如果它的顶级是{}那么它是一个单个对象.

所以你拥有的是一个返回的数组,其中包含一个结果.

转到json2csharp并粘贴代码可以得到:

public class Issue
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int Accuracy { get; set; }
    public string Icd { get; set; }
    public string IcdName { get; set; }
    public string ProfName { get; set; }
    public int Ranking { get; set; }
}

public class Specialisation
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int SpecialistID { get; set; }
}

public class RootObject
{
    public Issue Issue { get; set; }
    public List<Specialisation> Specialisation { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

并且您可以看到它创建的RootObject几乎表明它是一个单个对象,但您需要将其反序列化为一个List<RootObject>不仅仅是RootObject.

所以在C#中就是这样 var result = JsonConvert.DeserializeObject<List<RootObject>>(theJsonString);