在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; }
}