【问题标题】:Unexpected character encountered while parsing value: ?. Path '', line 0, position 0解析值时遇到意外字符:?。路径 '',第 0 行,第 0 位置
【发布时间】:2018-07-25 06:06:44
【问题描述】:

我有这个 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 的字符串,我该怎么办?

【问题讨论】:

标签: c# json json.net


【解决方案1】:

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

[.. {.."

因为它们是 not recommended,所以我选择通过使用 Explorer/Finder 创建一个新文件并在其中添加我的 JSON 来摆脱它们。

【讨论】:

    猜你喜欢
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多