Boost 是 C++ 中一個強大的庫,可以用于解析 JSON 數組。JSON 數組是一種包含多個值的數據結構,可以將其存儲在字符串中。使用 Boost 庫可以輕松地將 JSON 數組解析為 C++ 中的數據結構。
#include <boost/property_tree/json_parser.hpp>
#include <boost/property_tree/ptree.hpp>
using boost::property_tree::ptree;
using boost::property_tree::read_json;
// JSON 數組字符串
std::string jsonString = "[{\"name\": \"Alice\", \"age\": 26}, {\"name\": \"Bob\", \"age\": 32}]";
// 解析 JSON 數組
ptree root;
std::stringstream ss(jsonString);
read_json(ss, root);
// 遍歷 JSON 數組
for (auto &child : root)
{
std::string name = child.second.get<std::string>("name");
int age = child.second.get<int>("age");
std::cout << name << " " << age << std::endl;
}
代碼中,首先包含了 Boost 的 JSON 解析和 ptree 類型的頭文件。然后定義了一個包含 JSON 數組的字符串jsonString
。
接下來使用read_json
函數將字符串解析為 ptree 對象,遍歷 JSON 數組并使用get
函數獲取每個元素的 name 和 age 屬性,最后打印出來。
通過上述代碼,可以輕松地使用 Boost 解析 JSON 數組并將其轉化為 C++ 中的數據結構。