1
ネットワークからJSON形式の文字列を受け取り、それをBoostプロパティツリーでデコードするとします。それを行う最善の方法は何ですか?std :: string形式のJSONをBoostプロパティツリーにデコードするには?
ネットワークからJSON形式の文字列を受け取り、それをBoostプロパティツリーでデコードするとします。それを行う最善の方法は何ですか?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