.NET 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

我试图加载一个.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.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数据文件解决了这个问题。顺便说一下,谢谢你给我指出了正确的方向。