【问题标题】:Deserialize Json objects in c#在 C# 中反序列化 Json 对象
【发布时间】:2017-07-15 22:27:58
【问题描述】:

我有从另一个应用程序返回的 json 对象,我无法控制它并且每个对象的结构不同,但我想从每个对象中提取相同的数据及其标题(我正在使用 NewtownSoft):

{
"myData": [
{
  "one": {
    "in": 0,
    "out": 17,
    "total": 17
  },
  "two": {
    "total": 17
  },
  "three": {
    "total": 0
  },
  "four": {
    "total": 8
  },
  "five": {
    "total": 0
  },
  "six": {
    "total": 0
  },
  "seven": {
    "total": 0
  }
}  ]}

我希望结果和这张图片一样

并仅使用一个类反序列化此代码

public class Example{
public string number {get;set;}
public int total {get; set;}
}

【问题讨论】:

标签: c# json json-deserialization


【解决方案1】:

如果您可以控制生成的 JSON,请修改 JSON:

{
"myData": [
{
  "Example": {
    "number": "one",
    "in": 0,
    "out": 17,
    "total": 17
  },
  "Example": {
    "number": "two",
    "total": 17
  },
  "Example": {
    "number": "three",
    "total": 0
  },
  "Example": {
    "number": "four",
    "total": 8
  },
  "Example": {
    "number": "five",
    "total": 0
  },
  "Example": {
    "number": "six",
    "total": 0
  },
  "Example": {
    "number": "seven",
    "total": 0
  }
}  ]}

C# 类:

public class Example
{
    public string number { get; set; }
    public int total { get; set; }
}

public class MyData
{
    public Example Example { get; set; }
}

public class RootObject
{
    public List<MyData> myData { get; set; }
}

【讨论】:

  • 我无法控制它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多