Boost庫里的ptree可以很方便地處理JSON格式的數據,包括數組。下面是一個簡單的例子:
#include <boost/property_tree/json_parser.hpp>
#include <boost/foreach.hpp>
#include <iostream>
using namespace boost::property_tree;
const char *json_str = R"({"users":[{"name":"John","age":30},{"name":"Alice","age":25}]})";
int main()
{
ptree pt;
std::istringstream ss(json_str);
read_json(ss, pt);
BOOST_FOREACH (ptree::value_type &v, pt.get_child("users")) {
std::string name = v.second.get("name");
int age = v.second.get("age");
std::cout << name << " is " << age << " years old." << std::endl;
}
return 0;
}
這個例子包含一個JSON數組,里面包含兩個JSON對象,表示兩個用戶。在讀取JSON數據時,我們使用get_child函數獲取"users"節點,然后使用BOOST_FOREACH遍歷節點的每個子節點,即每個用戶對象。在遍歷過程中,可以通過second成員函數獲取子節點的屬性值,再通過get函數獲取具體屬性的值。
上一篇excel導出 json
下一篇html 怎么設置空行