在C#中反序列化Json对象 [英] Deserialize Json objects in c#

查看:302
本文介绍了在C#中反序列化Json对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have json object returned from another application, that i have no control over it and the structure of each object is different ,but i want to extract the same data from each object with its title (I am using 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
  }
}  ]}

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

i want the result to be as in this image

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

and deserialize this code using only one class

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

推荐答案

如果您可以控制生成的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; }
}

这篇关于在C#中反序列化Json对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆