1
假設我從網絡接收到一個JSON格式的字符串,並且想要在Boost Property樹中解碼它。做這件事的最好方法是什麼?如何將std :: string格式的JSON解碼爲Boost屬性樹?
假設我從網絡接收到一個JSON格式的字符串,並且想要在Boost Property樹中解碼它。做這件事的最好方法是什麼?如何將std :: string格式的JSON解碼爲Boost屬性樹?
爲了創建一個簡單的例子,讓我們假設我們在代碼的字符串來表示你要接收來自網絡具有以下內容的字符串:
{
"Test": "string",
"Test2":
{
"inner0": "string2",
"inner1": "string3",
"inner2": "1234"
}
}
這樣解釋的代碼作爲一個字符串是以下情況:
#include <boost/property_tree/json_parser.hpp>
#include <iostream>
#include <sstream>
int main()
{
std::stringstream buffer("{ \"Test\": \"string\", \"Test2\": { \"inner0\": \"string2\", \"inner1\": \"string3\", \"inner2\": \"1234\" } }");
std::cout << buffer.str() << std::endl;
boost::property_tree::ptree pt;
boost::property_tree::json_parser::read_json(buffer, pt);
std::string test2_inner0_str = pt.get<std::string>("Test2.inner0");
int test2_inner2_value = pt.get<int>("Test2.inner2");
std::cout << test2_inner0_str << std::endl;
std::cout << test2_inner2_value << std::endl;
}
打印:
{ "Test": "string", "Test2": { "inner0": "string2", "inner1": "string3", "inner2": "1234" } }
string2
1234
優秀的樣本。 +1 – sehe
你能展示一些代碼,你已經盡力了,也許有人可以幫助你從那裏。 – gottlieb76
我很驚訝,因爲我知道西班牙文有文章。 – peterh
@peterh去了某種諷刺獎,我看到:) – sehe