.NET JsonReaderWriterFactory读取错误
我试图加载一个.json文件,并使用“JsonReaderWriterFactory”读取它。 我的代码如下:.NET JsonReaderWriterFactory读取错误,.net,json,serialization,.net,Json,Serialization,我试图加载一个.json文件,并使用“JsonReaderWriterFactory”读取它。 我的代码如下: string path = Server.MapPath(Url.Content("~/")) + "JsonData/file.json"; byte[] buffer = System.IO.File.ReadAllBytes(path); System.Xml.XmlReader reader = System.Runtime.Serialization.Json.JsonRe
string path = Server.MapPath(Url.Content("~/")) + "JsonData/file.json";
byte[] buffer = System.IO.File.ReadAllBytes(path);
System.Xml.XmlReader reader = System.Runtime.Serialization.Json.JsonReaderWriterFactory.CreateJsonReader(buffer, System.Xml.XmlDictionaryReaderQuotas.Max);
System.Xml.Linq.XElement root = System.Xml.Linq.XElement.Load(reader);
但是当我调用“System.Xml.Linq.XElement.Load(reader)”时,我得到了一个异常“意外字符‘I’”。
发生了什么?
我应该指定一个特定的编码吗?
多谢各位
我试图读取的数据应该是一个对象数组,其组成方式如下:
[
{
id: "ITEM_ID",
label: "Item Label",
url: "http://www.address.com",
parameters: [
"PARAM_1",
"PARAM_2"
],
filters: {
logic: "or",
filters: [
{ field: "fieldA", operator: "eq", value: 100 },
{
logic: "and",
filters: [
{ field: "fieldA", operator: "lt", value: 100 },
{ field: "fieldB", operator: "eq", value: true }
]
}
]
}
},
{...},
{...}
]
首先,我建议您在
验证Json数据 您的Json数据似乎格式不好 出现错误是因为您没有用
标记包装密钥。
所以它必须是这样的。
{
"id": "ITEM_ID",
"label": "Item Label"
}
那么数据是什么样子的呢?不,我按照你的建议编辑并验证了json,但是运气不好,还是同一个错误。我还尝试了两行json:代码生成了相同的错误。我想知道读者声明中是否有其他错误。我想我找到了解决方案:“意外的chaarcter”问题是由我用来创建文件的编辑器造成的。使用记事本重新创建json数据文件解决了这个问题。顺便说一下,谢谢你给我指出了正确的方向。