2

私はこの問題を自分で解決することができず、同様の質問も見つけていません。私はこのJSONを持っています:

{
"world": {
    "soil": {
        "dimensions": {
            "depth": "200",
            "length": "200",
            "width": "200",
            "cellSize": "1"
        },
        "moisture": {
            "min": "0",
            "max": "100",
            "initialPatches": "30",
            "initialPatchesMaxWidth": "100",
            "initialPatchesSigma": "3",
            "initialPatchesUseRandom": "true"
        },
        "nutrients": {
            "minC": "0",
            "maxC": "23",
            "minN": "0",
            "maxN": "23",
            "minP": "0",
            "maxP": "23"
        },
        "temperature": "25"
    },
    "life": {
        "fungi": [
            {
                "name": "fungus gungus",
                "sporeMass": "0.02"
            },
            {
                "name": "fungus gungusim",
                "sporeMass": "0.04"
            }
        ],
        "fungivores": {
        },
        "predators": {
        }
    }
}
}

そして、私は 2 つの異なる菌種の情報を回復しようとして行き詰っています。深さ、initialPatches などの単純なパラメーターを抽出できます...しかし、すべての菌種をトラバースする方法に完全に迷子になります...何かヒントはありますか?

前もって感謝します、

ホセ

4

1 に答える 1

2

グーグルで検索すると、いくつかの結果が見つかります。

  1. property_tree
  2. 上記を使用した JSON パーサー
  3. JSON パーサーを使用した

アップデート

これを試して :

BOOST_FOREACH(const ptree::value_type& child, node.get_child("life.fungi")) {
    std::cout
        << child.second.get<std::string>("sporeMass")
        << "\n";
}
于 2013-06-03T13:50:15.603 に答える