【发布时间】:2019-04-03 08:20:49
【问题描述】:
我必须解码一个包含另一个 JSON 字符串的 JSON 字符串。目前我正在尝试使用来自System.Web.Script.Serialization 的Serializator.Deserialize<Dictionary<string,string>>(value) 将其解码为Dictionary<string,string>,但没有成功。
这是字符串:
{
"label": "Side",
"options": [
{
"key": "left",
"value": 0
},
{
"key": "right",
"value": 1
}
]
}
这是我从解码器得到的格式错误:
(System.ArgumentException HResult=0x80070057 消息=传入的对象无效,预期为 ':' 或 '}'。(34): {"label": "Side", "options": "[{"key": "left", "value": 0},{"key":"right", "value":1}]"} Source=System.Web.Extensions) 这意味着他将“[{”作为字符串获取,因此当然无法转换......
有什么方法可以解码这个特定的 JSON 字符串并将其存储在一个对象中?客户对这种 JSON 格式非常具体……非常感谢
【问题讨论】:
-
收到无效的 json 似乎很痛苦......
-
您可能需要将 json 预解析为可以传递给反序列化器的内容。
-
tag info 中有一个指向 jsonlint 的链接。它是一个很好的验证和格式化工具。
-
JSON 字符串无效。请使用 jsonlint 纠正它。
标签: c# json json-deserialization