首页 新闻 搜索 专区 学院

j'son 序列化

0
悬赏园豆:20 [待解决问题]

""{\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 我序列化出错 下面是我写的类和报错的原因 请大佬给出正确的类

大哥求教的主页 大哥求教 | 初学一级 | 园豆:5
提问于:2019-04-07 14:34
< >
分享
所有回答(6)
0

尝试使用 newtonsoft.json 库

hippieZhou | 园豆:578 (小虾三级) | 2019-04-07 19:05
0

你反序列为集合试一下:

List<Sin_03> two2 = JsonConvert.DeserializeObject<List<Sin_03>>(jsonData);
三人乐乐 | 园豆:3250 (老鸟四级) | 2019-04-08 10:10

不行 啊 之前试过

支持(0) 反对(0) 大哥求教 | 园豆:5 (初学一级) | 2019-04-08 10:14

@大哥求教:如果你贴的就是 jsonData 的值,那是对不上的,因为外层多一个 day_20190405

支持(0) 反对(0) 三人乐乐 | 园豆:3250 (老鸟四级) | 2019-04-08 11:12
0

亲,你这个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/ 这个网站进行转换,确保格式正确后 再放到代码中进行运行。

西越泽 | 园豆:10633 (专家六级) | 2019-04-08 11:33

哇list<Map>还不知道 等我百度看看

支持(0) 反对(0) 大哥求教 | 园豆:5 (初学一级) | 2019-04-08 12:35

@大哥求教: 建议你先确定JSON内容正确,然后和你的实体类可以对应上;确保这个没问题后再尝试其他的哈,避免给你带来负担。

支持(0) 反对(0) 西越泽 | 园豆:10633 (专家六级) | 2019-04-08 13:36
0

你的 类少东西了。应该需要定义一个 List<NewModel> Sin_03
NewModel{
path;
line
position
}

Постой! | 园豆:829 (小虾三级) | 2019-04-08 14:11
0

复制好json数据,到vs里面,选择编辑 ->选择性复制,将json粘贴为类。就完事了

czd890 | 园豆:9009 (大侠五级) | 2019-04-08 21:00
0

你这是无法从System.String类型强制转换或转换为Sin_03实体类,可以考虑使用转换为对象,对象在转换为实体

熊泽-学习中的苦与乐 | 园豆:688 (小虾三级) | 2019-04-10 16:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册