【发布时间】:2018-07-06 20:54:12
【问题描述】:
我有这个 JSON:
{"id":1,"name":"Alabama"}
{"id":2,"name":"Alaska"}
{"id":3,"name":"Arizona"}
{"id":4,"name":"Arkansas"}
还有这段代码:
string[] testDataFiles = new string[] { StatesOneFileName, StatesTwoFileName, ContinentsFileName };
foreach (var testFile in testDataFiles)
{
using (StreamReader r = new StreamReader(testFile))
{
string json = r.ReadToEnd();
dynamic jsonObjectArray = JsonConvert.DeserializeObject(json);
foreach (var item in jsonObjectArray)
{
expectedPartitions.Add(item.name);
}
}
}
但是,当我运行它时,我得到了这个错误:
Additional text encountered after finished reading JSON content: {. Path '', line 2, position 0.
我已经阅读了一些 StackOverflow 建议以将测试数据包含在 [] 中,但不幸的是我无法编辑 json 文件本身。有没有办法在我的代码中包装一些东西,使它以正确的方式读取?谢谢。
【问题讨论】:
-
不要让您进一步沮丧,但除了将这些行包含在 [ ] 括号中之外,您可能还需要在每一行的末尾添加一个逗号(最后一行除外)使其成为有效的 json 语法。
-
糟糕,是的,@JoeIrby 是对的。请忽略我的第一条评论;)(现已删除)
-
据我了解,如果您无法更改输入,则您有多个 Json 对象,然后分别解析每一行