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 に答える