0

我试图加载一个 .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)”时,我得到一个异常“意外字符'ï' ”。怎么了?我应该指定一个特定的编码吗?谢谢你。

我试图读取的数据应该是以这种方式组成的对象数组:

[
    {
        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 }
                    ]
                }
            ]
        }
    }, 
    {...}, 
    {...} 
]
4

1 回答 1

2

首先,我建议您在http://jsonlint.com/
上验证您的 Json 数据。 看来您的 Json 数据格式不正确。

错误来了,因为您没有用" "标记包装您的钥匙。
所以它必须像这些。

{
    "id": "ITEM_ID",
    "label": "Item Label"
}
于 2012-12-18T11:34:46.210 回答