我有这个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,具有两个属性,名为 Param1
和 Param2
当我尝试进行测试时,我会收到以下错误:
Unexpected character encountered while parsing value: ?. Path '', line 0, position 0.
,但我确实给jsonconvert带有有效的json的字符串,我该怎么办?
通过十六进制编辑器我检查了文件的开头,我发现我的IDE在文件的开头中添加了BOM。看起来像这样:
!»¿[.. {.."
(不建议它们通过使用Explorer/Finder创建新文件并在其中添加我的JSON来摆脱它们。