2
解析JSON在資源我有一個內容JSON文件:無法從資源
{
"EU": [
"Germany",
"Ukraine",
"United Kingdom",
"Hungary"
]
}
我想將它反序列化爲Dictionary<string,List<string>>
我試過未來:
var json = Encoding.UTF8.GetString(Resources.regionGroups);//Resources.regionGroups return byte[]
return JsonConvert.DeserializeObject<Dictionary<string, List<string>>>(json);
但每次我得到異常變量json
是不正確的json格式。
這是什麼原因造成的?我已經嘗試了相同的反序列化,但使用jsonString作爲硬編碼並且工作正常。
詳細異常消息:
意外字符在解析值遇到:。路徑',行 0,位置0
UPDATE:
去除字符串中的所有空格
var json = Regex.Replace(Encoding.UTF8.GetString(Resources.regionGroups), "(\"(?:[^\"\\\\]|\\\\.)*\")|\\s+", "$1");
後,我有下一個
"{\"EU\":[\"Germany\",\"Ukraine\",\"United Kingdom\",\"Hungary\"]}"
這也重現了異常。
什麼是'無功JSON = Encoding.UTF8.GetString(Resources.regionGroups)的'json'變量的值;'在監視窗口? –
@AdilAnsari,'「{\ r \ n \ t \」EU \「:[\ r \ n \ t \ t \」Germany \「,\ r \ n \ t \ t」Ukraine \「,\ r \ n \ t \ t \「英國\」,\ r \ n \ t \ t \「匈牙利\ \ \ \ \ n」' – demo
**更新:* *'\ r \ n \ t \''會導致問題,請使用'json.Replace(「\ r」,「」)。替換(「\ n」,「」)替換(「\ t」,「 「)。替換(」\「,」「)'刪除這些額外的字符串。 –