簡體   English   中英

如何在相關數據結構中存儲JSON鍵值(已使用cpp boost解析)?

[英]How do I store a JSON key values (which I have parsed with cpp boost) in relevant data structure?

我的Json目前有這種格式(當然以后可以更改)

{key1 : value1,
 key2 : value2,
 key3 :{key31 : value31,
        key32 : value32,
        key33 : value33
        },

 key4 : {key41 : value41;
         key42:[ {key4a: value4a,
                  key4b: value4b,
                  key4c: {key4d: value 4d},
                          key4e: [v1 ,v2 ,v3]
                          } ,...can be more values here ]
        }
}

要遍歷它,我正在使用:

#include "boost/property_tree/ptree.hpp"
#include "boost/property_tree/json_parser.hpp"
#include "boost/foreach.hpp"


void traverse(boost::property_tree::ptree pt){
    using boost::property_tree::ptree;

    for (ptree::value_type &v : pt)
    {
        std::cout<<v.first<<" - "<<v.second.data()<<std::endl;


        if (v.second.size() >= 1){
            traverse(v.second);
        }
    }
}

有了這個,我就能觸及Json的每個節點。 我正在尋找一種更好的方法來解析和存儲Json Key:values。

我認為您低估了屬性樹的能力。 這是一個像信息一樣存儲和訪問json和xml的好工具,這就是為什么在boost中將json_parser和xml_parser引入的原因。

在此問題中, 使用boost :: property_tree :: string_path訪問值時,您可以看到一個有效的示例,該示例說明如何使用類似路徑的字符串訪問屬性樹中的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM