欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c poco json對(duì)象

JSON(JavaScript Object Notation)是一種輕量級(jí)數(shù)據(jù)交換格式。它使用文本格式,可以被任何編程語(yǔ)言讀取和解析。C++中,Poco庫(kù)提供了JSON對(duì)象的支持,可以方便地進(jìn)行JSON數(shù)據(jù)的解析和生成。

#include <poco/json.h>
#include <iostream>
using namespace Poco;
int main() {
std::string jsonStr = R"({
"name": "Alice",
"age": 25,
"hobbies": ["reading", "swimming", "traveling"],
"address": {
"city": "Beijing",
"street": "Xinjiekou"
}
})";
JSON::Object jsonObj;
JSON::Parser parser;
parser.parse(jsonStr);
var result = parser.result();
if (!result.isEmpty() && result.isStruct()) {
jsonObj = result.extract();
std::string name = jsonObj["name"].toString();
int age = jsonObj["age"].convert();
JSON::Array hobbies = jsonObj["hobbies"].extract();
JSON::Object address = jsonObj["address"].extract();
std::string city = address["city"].toString();
std::string street = address["street"].toString();
std::cout << name << ", " << age << std::endl;
for (auto& h : hobbies) {
std::cout << h.toString() << std::endl;
}
std::cout << city << ", " << street << std::endl;
}
return 0;
}

在上面的示例中,我們使用Poco的JSON::Parser類解析了一個(gè)JSON字符串,并將解析得到的JSON::Object對(duì)象中的值讀取出來(lái)。JSON::Array和JSON::Object對(duì)象中的值可以通過(guò)extract方法提取出來(lái),提取后可以使用各自的方法進(jìn)行讀取操作。

除了解析JSON,Poco還提供了JSON::Object和JSON::Array兩個(gè)類,用于方便地生成JSON數(shù)據(jù)。

JSON::Object jsonObj;
jsonObj.set("name", "Bob");
jsonObj.set("age", 30);
JSON::Array hobbies;
hobbies.add("writing");
hobbies.add("drawing");
jsonObj.set("hobbies", hobbies);
JSON::Object address;
address.set("city", "Shanghai");
address.set("street", "Nanjing Road");
jsonObj.set("address", address);
std::ostringstream ostr;
jsonObj.stringify(ostr);
std::cout << ostr.str() << std::endl;

上面的示例中,我們創(chuàng)建了一個(gè)JSON::Object對(duì)象,向其中添加了字符串、整型、數(shù)組和對(duì)象類型的值,并通過(guò)stringify方法將其轉(zhuǎn)化成JSON格式的文本并輸出。

總之,通過(guò)Poco庫(kù)的支持,C++中處理JSON數(shù)據(jù)變得更加方便。