""{\r\n \"day_20190405\": {\r\n \"temperature\": \"10℃~24℃\",\r\n \"weather\": \"阵雨\",\r\n \"weather_id\": {\r\n \"fa\": \"03\",\r\n \"fb\": \"03\"\r\n },\r\n \"wind\": \"持续无风向微风\",\r\n \"week\": \"星期五\",\r\n \"date\": \"20190405\"\r\n },\r\n \"day_20190406\": {\r\n \"temperature\": \"8℃~22℃\",\r\n \"weather\": \"阵雨\",\r\n \"weather_id\": {\r\n \"fa\": \"03\",\r\n \"fb\": \"03\"\r\n },\r\n \"wind\": \"持续无风向微风\",\r\n \"week\": \"星期六\",\r\n \"date\": \"20190406\"\r\n },\r\n \"day_20190407\": {\r\n \"temperature\": \"10℃~25℃\",\r\n \"weather\": \"多云转晴\",\r\n \"weather_id\": {\r\n \"fa\": \"01\",\r\n \"fb\": \"00\"\r\n },\r\n \"wind\": \"持续无风向微风\",\r\n \"week\": \"星期日\",\r\n \"date\": \"20190407\"\r\n },\r\n \"day_20190408\": {\r\n \"temperature\": \"11℃~25℃\",\r\n \"weather\": \"晴\",\r\n \"weather_id\": {\r\n \"fa\": \"00\",\r\n \"fb\": \"00\"\r\n },\r\n \"wind\": \"持续无风向微风\",\r\n \"week\": \"星期一\",\r\n \"date\": \"20190408\"\r\n },\r\n \"day_20190409\": {\r\n \"temperature\": \"11℃~25℃\",\r\n \"weather\": \"晴\",\r\n \"weather_id\": {\r\n \"fa\": \"00\",\r\n \"fb\": \"00\"\r\n },\r\n \"wind\": \"持续无风向微风\",\r\n \"week\": \"星期二\",\r\n \"date\": \"20190409\"\r\n },\r\n \"day_20190410\": {\r\n \"temperature\": \"10℃~25℃\",\r\n \"weather\": \"多云转晴\",\r\n \"weather_id\": {\r\n \"fa\": \"01\",\r\n \"fb\": \"00\"\r\n },\r\n \"wind\": \"持续无风向微风\",\r\n \"week\": \"星期三\",\r\n \"date\": \"20190410\"\r\n },\r\n \"day_20190411\": {\r\n \"temperature\": \"10℃~25℃\",\r\n \"weather\": \"多云转晴\",\r\n \"weather_id\": {\r\n \"fa\": \"01\",\r\n \"fb\": \"00\"\r\n },\r\n \"wind\": \"持续无风向微风\",\r\n \"week\": \"星期四\",\r\n \"date\": \"20190411\"\r\n }\r\n}""
这是json 我序列化出错 下面是我写的类和报错的原因 请大佬给出正确的类
尝试使用 newtonsoft.json 库
你反序列为集合试一下:
List<Sin_03> two2 = JsonConvert.DeserializeObject<List<Sin_03>>(jsonData);
不行 啊 之前试过
@大哥求教:如果你贴的就是 jsonData 的值,那是对不上的,因为外层多一个 day_20190405
亲,你这个JSON格式,你看下比如day_20190405这个节点,这个节点下一共有
temperature
weather
weather_id
wind
week
date
6个字段,其中weather_id还是一个对象,你上面提供的类Sin_03,字段没有全对应的。
如果要直接序列化成集合,需要字段对应的。
这种数据建议序列化成List<Map>这种集合,后续操作比较好处理
另外:通过你的日志报错:Could not cast or convert from System.String to ConsoleApp10.Sin_03 这句话的意思是目前待转换成List<Sin_03>的输入是一个字符串,而不是集合对象类的的JSON。 所以你需要调整下你待输入的JSON,最简单的办法你可以把你的JSON拷贝到https://www.sojson.com/ 这个网站进行转换,确保格式正确后 再放到代码中进行运行。
哇list<Map>还不知道 等我百度看看
@大哥求教: 建议你先确定JSON内容正确,然后和你的实体类可以对应上;确保这个没问题后再尝试其他的哈,避免给你带来负担。
你的 类少东西了。应该需要定义一个 List<NewModel> Sin_03
NewModel{
path;
line
position
}
复制好json数据,到vs里面,选择编辑 ->选择性复制,将json粘贴为类。就完事了
你这是无法从System.String类型强制转换或转换为Sin_03实体类,可以考虑使用转换为对象,对象在转换为实体