解析值时遇到意外的字符:?路径'',第0行,第0位

时间:2018-02-14 15:44:54

标签: c# json json.net

我有这个JSON文件:

[
    {
        "param1": "someURL",
        "param2": "someURL2"
    },
    {
        "param1": "someURL3",
        "param2": "someURL4"
    }
]

JsonLint说这个JSON是有效的。

现在,我从Azure存储中读取此JSON文件,将其下载到流中,然后对其进行编码:

string content = Encoding.UTF8.GetString(memoryStream.ToArray());

接下来我想将其反序列化为对象列表:

List<MyParamObject> deserialized = JsonConvert.DeserializeObject<List<MyParamObject>>(text);

MyParamObject是一个POCO,有两个名为Param1Param2

的属性

当我尝试反序列化时,我收到以下错误:

Unexpected character encountered while parsing value: ?. Path '', line 0, position 0.

但我确实给JsonConvert一个带有效JSON的字符串,我该怎么办?

1 个答案:

答案 0 :(得分:1)

通过HEX编辑器,我检查了文件的开头,发现我的IDE在文件的开头添加了BOM。所以它看起来像这样:

[.. {..“

因为它们是not recommended我选择通过使用资源管理器/ Finder创建一个新文件并在其中添加我的JSON来摆脱它们。