【发布时间】:2018-10-27 14:23:09
【问题描述】:
我有以下需要反序列化的 JSON:
[
{
"Facility": "H&S 01",
"Address": [ "5999 Cerritos Ave." ],
"City": [ "anaheim" ],
"State": [ "ca" ],
"ZipCode": [ 92831 ],
"AQDMID": [ 1 ],
"Jan": 222.0,
"Feb": 434.0,
"March": 343.0,
"April": 431.0,
"May": 222.0,
"June": 345.0,
"July": 666.0,
"Aug": 643.0,
"Sep": 0.0,
"Oct": 0.0,
"Nov": 0.0,
"Dec": 0.0,
"Total": 3306.0
},
{
"Facility": "H&S 02",
"Address": [ "1515 N. Garey Ave." ],
"City": [ "hshsh" ],
"State": [ "ca" ],
"ZipCode": [ 92831 ],
"AQDMID": [ 2 ],
"Jan": 122.0,
"Feb": 234.0,
"March": 234.0,
"April": 263.0,
"May": 234.0,
"June": 124.0,
"July": 223.0,
"Aug": 444.0,
"Sep": 122.0,
"Oct": 211.0,
"Nov": 343.0,
"Dec": 423.0,
"Total": 2977.0
}
]
我使用http://jsontotable.com/ 创建类来表示我的数据并得到以下结果:
public class Root
{
public DateTime Facility {get;set;}
public List<string> Address {get;set;}
public List<string> City {get;set;}
public List<string> State {get;set;}
public List<string> ZipCode {get;set;}
public List<string> AQDMID {get;set;}
public int Jan {get;set;}
public int Feb {get;set;}
public int March {get;set;}
public int April {get;set;}
public int May {get;set;}
public int June {get;set;}
public int July {get;set;}
public int Aug {get;set;}
public string Sep {get;set;}
public string Oct {get;set;}
public string Nov {get;set;}
public string Dec {get;set;}
public int Total {get;set;}
}
我正在尝试使用 JSON.NET 反序列化我的数据:
List<Root> fetch = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Root>>(json);
但它不会反序列化为我的 C# 类。
【问题讨论】:
-
所以你想降级到 C# Class Jason
-
那个类是从哪里来的?这似乎完全错误 - 例如Facility 是一个字符串,而不是 DateTime。 Visual Studio 将为您创建类
-
就个人而言,我坚持编写自己的类来保存我必须与之交互的任何 JSON 数据。它让我可以确保类与 JSON 描述的内容相匹配。
-
Facility 是什么日期时间?
标签: c# json asp.net-mvc