C# C中对象的有效JSON#
我试图将一段JSON反序列化为一个C#对象,但迄今为止几乎没有成功。根据,以下字符串是有效的JSON。但是,其中似乎没有任何变量名。我习惯于看到JSON的字符串是“objectID”、“objectName”等等。在这种情况下,我可以创建一个带有objectID和objectName等字段的C#对象,然后像这样反序列化整个过程:C# C中对象的有效JSON#,c#,json,object,literals,C#,Json,Object,Literals,我试图将一段JSON反序列化为一个C#对象,但迄今为止几乎没有成功。根据,以下字符串是有效的JSON。但是,其中似乎没有任何变量名。我习惯于看到JSON的字符串是“objectID”、“objectName”等等。在这种情况下,我可以创建一个带有objectID和objectName等字段的C#对象,然后像这样反序列化整个过程: Quote deserializedProduct=JsonConvert.DeserializeObject(json) 关于我如何做到这一点有什么建议吗?例如,我看
Quote deserializedProduct=JsonConvert.DeserializeObject(json)代码>
关于我如何做到这一点有什么建议吗?例如,我看不到一种将其反序列化为一系列锯齿状或嵌套数组的方法。如果有任何帮助,我将不胜感激
{
"ABCXYZ": {
"Wed, Aug 29|Wed|29 Aug 12": [
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 812~ ~~ABC~08/29/2012 06:35~XYZ~08/29/2012 07:45~",
"No Taxes",
"2012-08-29 06:35",
"2012-08-29 07:45",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
-1,
0,
0,
0
],
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 816~ ~~ABC~08/29/2012 14:55~XYZ~08/29/2012 16:05~",
"No Taxes",
"2012-08-29 14:55",
"2012-08-29 16:05",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
-1,
0,
0,
0
],
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 818~ ~~ABC~08/29/2012 19:50~XYZ~08/29/2012 20:55~",
"No Taxes",
"2012-08-29 19:50",
"2012-08-29 20:55",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
-1,
0,
0,
0
]
],
"Thu, Aug 30|Thu|30 Aug 12": [
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 812~ ~~ABC~08/30/2012 06:35~XYZ~08/30/2012 07:45~",
"No Taxes",
"2012-08-30 06:35",
"2012-08-30 07:45",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
-1,
0,
0,
0
],
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 816~ ~~ABC~08/30/2012 08:30~XYZ~08/30/2012 09:40~",
"No Taxes",
"2012-08-30 08:30",
"2012-08-30 09:40",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
-1,
0,
0,
0
],
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 818~ ~~ABC~08/30/2012 22:10~XYZ~08/30/2012 23:15~",
"No Taxes",
"2012-08-30 22:10",
"2012-08-30 23:15",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
-1,
0,
0,
0
]
],
"Fri, Aug 31|Fri|31 Aug 12": [
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 812~ ~~ABC~08/31/2012 06:35~XYZ~08/31/2012 07:45~",
"No Taxes",
"2012-08-31 06:35",
"2012-08-31 07:45",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
-1,
0,
0,
0
],
[
"0~C~C4LOW~BND4~~1~X",
"FR~ 816~ ~~ABC~08/31/2012 13:20~XYZ~08/31/2012 14:30~",
"No Taxes",
"2012-08-31 13:20",
"2012-08-31 14:30",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 32.74
}
]
}
],
2,
0,
0,
0
],
[
"0~C~C4LOW~BND4~~1~X",
"FR~ 818~ ~~ABC~08/31/2012 19:50~XYZ~08/31/2012 20:55~",
"No Taxes",
"2012-08-31 19:50",
"2012-08-31 20:55",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 32.74
}
]
}
],
3,
0,
0,
0
]
],
"Sat, Sep 01|Sat|01 Sep 12": [
[
"0~C~C4LOW~BND4~~1~X",
"FR~ 812~ ~~ABC~09/01/2012 08:05~XYZ~09/01/2012 09:15~",
"No Taxes",
"2012-09-01 08:05",
"2012-09-01 09:15",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 32.74
}
]
}
],
-1,
0,
0,
0
],
[
"0~W~W4LOW~BND4~~1~X",
"FR~ 818~ ~~ABC~09/01/2012 17:00~XYZ~09/01/2012 18:05~",
"No Taxes",
"2012-09-01 17:00",
"2012-09-01 18:05",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 11.74
}
]
}
],
2,
0,
0,
0
]
],
"Sun, Sep 02|Sun|02 Sep 12": [
[
"0~N~N16SEP~FCCG~~3~X",
"FR~ 812~ ~~ABC~09/02/2012 06:35~XYZ~09/02/2012 07:45~",
"No Taxes",
"2012-09-02 06:35",
"2012-09-02 07:45",
[
{
"ADT": [
1,
"0.00",
"0",
{
"WC": 6,
"ETS": 0.25,
"FarePrice": 9.75
}
]
}
],
-1,
0,
0,
0
],
[
"0~H~H4LOW~BND4~~1~X",
"FR~ 816~ ~~ABC~09/02/2012 14:55~XYZ~09/02/2012 16:05~",
"No Taxes",
"2012-09-02 14:55",
"2012-09-02 16:05",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 23.74
}
]
}
],
1,
0,
0,
0
],
[
"0~K~K4LOW~BND4~~1~X",
"FR~ 818~ ~~ABC~09/02/2012 20:25~XYZ~09/02/2012 21:30~",
"Regular Fare",
"2012-09-02 20:25",
"2012-09-02 21:30",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"Tax": 36,
"FarePrice": 33.99
}
]
}
],
-1,
0,
0,
0
]
],
"Mon, Sep 03|Mon|03 Sep 12": [
[
"0~N~N16SEP~FCCG~~3~X",
"FR~ 812~ ~~ABC~09/03/2012 06:35~XYZ~09/03/2012 07:45~",
"No Taxes",
"2012-09-03 06:35",
"2012-09-03 07:45",
[
{
"ADT": [
1,
"0.00",
"0",
{
"WC": 6,
"ETS": 0.25,
"FarePrice": 9.75
}
]
}
],
-1,
0,
0,
0
],
[
"0~A~A4LOW~BND4~~1~X",
"FR~ 818~ ~~ABC~09/03/2012 14:35~XYZ~09/03/2012 15:40~",
"No Taxes",
"2012-09-03 14:35",
"2012-09-03 15:40",
[
{
"ADT": [
1,
"0.00",
"0",
{
"CANX": 2,
"WC": 6,
"ETS": 0.25,
"FarePrice": 17.74
}
]
}
],
-1,
0,
0,
0
],
[
"0~N~N16SEP~FCCG~~3~X",
"FR~ 816~ ~~ABC~09/03/2012 22:55~XYZ~09/03/2012 23:59~",
"No Taxes",
"2012-09-03 22:55",
"2012-09-03 23:59",
[
{
"ADT": [
1,
"0.00",
"0",
{
"WC": 6,
"ETS": 0.25,
"FarePrice": 9.75
}
]
}
],
3,
0,
0,
0
]
],
"Tue, Sep 04|Tue|04 Sep 12": [
[
"0~N~N16SEP~FCCG~~3~X",
"FR~ 812~ ~~ABC~09/04/2012 06:35~XYZ~09/04/2012 07:45~",
"No Taxes",
"2012-09-04 06:35",
"2012-09-04 07:45",
[
{
"ADT": [
1,
"0.00",
"0",
{
"WC": 6,
"ETS": 0.25,
"FarePrice": 9.75
}
]
}
],
-1,
0,
0,
0
],
[
"0~N~N16SEP~FCCG~~3~X",
"FR~ 818~ ~~ABC~09/04/2012 19:50~XYZ~09/04/2012 20:55~",
"No Taxes",
"2012-09-04 19:50",
"2012-09-04 20:55",
[
{
"ADT": [
1,
"0.00",
"0",
{
"WC": 6,
"ETS": 0.25,
"FarePrice": 9.75
}
]
}
],
-1,
0,
0,
0
]
]
}
}
PS:您的json很难阅读。可以帮助您轻松查看它的结构。Newtonsoft是我最喜欢的用C#编写JSON的方法,我经常用不同的编程语言处理JSON,使用它就像使用Javascript或PHP一样简单
下面是一个最简单的例子
string json_string = @"{
Firstname: ""Jane"",
Lastname: ""Doe"",
Age: 36,
IsEmployed: true,
IsMarried: true,
Children: 4
}";
var person = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(json_string);
Console.WriteLine(person.Forename);
Console.WriteLine(person.Lastname);
Console.WriteLine(person.Age);
Console.WriteLine(person.IsEmployed);
Console.WriteLine(person.IsMarried);
Console.WriteLine(person.Children);
string json_string=@”{
名字:“Jane”,
姓氏:“Doe”,
年龄:36岁,
我受雇了:是的,
我结婚了:是的,
儿童:4
}";
var person=Newtonsoft.Json.JsonConvert.DeserializeObject(Json_字符串);
Console.WriteLine(person.Forename);
Console.WriteLine(person.Lastname);
控制台写入线(人、年龄);
Console.WriteLine(person.IsEmployed);
控制台写入线(person.IsMarried);
Console.WriteLine(个人、儿童);
无论结构如何,它都会动态生成对象!其他解决方案并不适用于所有.NET版本
我在这里写了一篇简单易懂的文章
关于如何在Visual Studio项目中通过NuGet Package Manager安装和使用Newtonsoft。您对此JSON中包含的所有值感兴趣还是只对其中的一些值感兴趣?反序列化后,您打算如何处理这些数据?据我所知,这只能反序列化到嵌套数组。然后,您必须使用某种数组位置查找将其读入一个对象?这是您自己应用程序的ajax帖子?它是外部的?@tarbhjohnydickobj.First.First
string json_string = @"{
Firstname: ""Jane"",
Lastname: ""Doe"",
Age: 36,
IsEmployed: true,
IsMarried: true,
Children: 4
}";
var person = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(json_string);
Console.WriteLine(person.Forename);
Console.WriteLine(person.Lastname);
Console.WriteLine(person.Age);
Console.WriteLine(person.IsEmployed);
Console.WriteLine(person.IsMarried);
Console.WriteLine(person.Children);