【发布时间】:2020-08-31 11:39:54
【问题描述】:
您好,我有这个 Json,但我无法反序列化它:
"Places":
"[{\"address\":\"Brussels, Belgium\",\"lat\":50.8503396,\"lng\":4.3517103},{\"address\":\"Amsterdam, Netherlands\",\"lat\":52.3675734,\"lng\":4.9041389}]"
我尝试将它们添加到集合中,但出现此错误
"Error converting value \"[{\"address\":\"Brussels, Belgium\",\"lat\":50.8503396,\"lng\":4.3517103},{\"address\":\"Amsterdam, Netherlands\",\"lat\":52.3675734,\"lng\":4.9041389}]\" to type 'System.Collections.Generic.List`1[MyMobiz.Models.Placess]'. Path 'Places', line 2, position 154."
【问题讨论】:
-
您需要共享正确的 json 和您尝试反序列化的类以及执行反序列化的代码。
-
这不是合法的 JSON。属性必须在对象内部,您缺少围绕该 JSON 片段的
{...}。如果这是您要反序列化的整个内容,则应首先将其包装在{...}中,否则它不是合法有效的JSON。 -
我有一个动态类型来存储这个 json。我可以访问 json.Places 来打印它们,但是当我尝试 json.Places[0] 它给我错误
-
其次,你有一个属性将字符串
"Places"映射到另一个字符串,其中包含似乎更多的JSON。您需要首先将其反序列化为具有字符串属性的对象,然后该对象将包含嵌入的 JSON,然后您需要将此字符串反序列化为其他一些类,本质上是进行双重反序列化。 -
将
json.Places反序列化为另一组对象。
标签: c# json .net-core json.net