我使用Newtonsoft.Json
任何试图JSON转换为Dictionary<string,string>
试图JSON转换为[键,值]字典
这是JSON文件:
[
{
"<p dir=\"rtl\">":""
},
{
"<p>":""
},
{
"<p dir='rtl'>":""
},
{
"<div dir='rtl'>":""
},
{
"<div>":""
},
{
"<div dir=\"rtl\">":""
},
{
"<script>":"<script>"/
},
{
"</script>":"</script>"
},
{
"<button>":"<button>"
},
{
"<button":"<button"
},
{
"</button>":"</button>"
},
{
"<br>":"<br>"
},
{
"<br />":"<br>"
},
{
"<br/>":"<br>"
},
{
"</br>":"<br>"
},
{
"\"":""
}
]
这是代码:
var replaceTags = System.IO.File.ReadAllText(JSON_FILE_PATH);
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(replaceTags);
而且我得到了以下异常:
无法反序列化当前的JSON数组(例如,因为类型需要一个JSON对象(例如{“name”:“value”}),因此类型'System.Collections.Generic.Dictionary`2 [System.String,System.String]'反序列化正确。 要修复此错误,请将JSON更改为JSON对象(例如{“name”:“value”})或将反序列化类型更改为实现集合接口(例如ICollection,IList)的数组或类型,如List可以从JSON数组中反序列化。 JsonArrayAttribute也可以添加到类型中,以强制它从JSON数组反序列化。 Path'',line 1,position 1.
为什么它的发生?
谢谢!
使用SwiftyJSON https://github.com/SwiftyJSON/SwiftyJSON –
这看起来并不像一个有效的JSON字符串,字符串,字符串的字典。 – Wheels73
这看起来更像是一个字典数组,而不是单个字典。它也有几个元素将它合并成单个字典可能会导致重复的键,所以也许你应该在这里重新思考你的方法。 – Abion47