无法从资源中解析 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。


更新:

删除所有空格后

var json = Regex.Replace(Encoding.UTF8.GetString(Resources.regionGroups), "("(?:[^"\\]|\\.)*")|\s+", "$1");

从字符串我有下一个

"{"EU":["Germany","Ukraine","United Kingdom","Hungary"]}"

这也重现了异常。

嗯,@AmitKumarGhosh编码是对的,正如我认为的那样。

所以我尝试在资源中更改我的 json 文件类型。我已将其从二进制文件更改为文本文件,这很有帮助。

所以现在解析非常简单:

JsonConvert.DeserializeObject<Dictionary<string, List<string>>>(Resources.regionGroups);

相关内容

  • 没有找到相关文章

最新更新