0

この種の json がある場合はどうすればよいですか? 私はrapidjsonを使用しています

{[
    {
        "username": "A",
        "level": "1",
        "score": "1774"
    },
    {
        "username": "Ab",
        "level": "1",
        "score": "1923"
    },
    {
        "username": "M",
        "level": "1",
        "score": "1991"
    },
    {
        "username": "P",
        "level": "1",
        "score": "2030"
    },
    {
        "username": "Am",
        "level": "1",
        "score": "2044"
    }
]}

これは確実にアサートに失敗します。

rapidjson::Document doc;
doc.Parse<0>(message.c_str());
assert(doc.IsObject());

キーさえない場合に配列を抽出する方法は?

4

1 に答える 1

1

これは有効な JSON ではありません。JSON オブジェクトの場合、つまり{ ... }、キーと値のペアが含まれている必要があります。2 つのソリューション:

  1. 最も外側のものを削除し{ }て、有効な JSON にすることができます。次に、ルートは JSON 配列になり、doc.IsArray() == true.

  2. 配列の前にキーを追加します{ "a" : [ ... ] }。その後、 で配列にアクセスできますdoc["a"]

于 2015-02-11T01:37:20.333 に答える