C + + JSON 의 좋 은 글 해석
5602 단어 json
C++ JSON
、
JSON :JavaScript Object Notation, ,JSON Javascript ,JSON :JSON 。 JSON , C++ JSON。 JSON , JSON :http://www.json.org。http://json.org/json-zh.html
、 JSON C++
jsoncpp JSON。jsoncpp C++ JSON 。 JSON 。 :http://sourceforge.net/projects/jsoncpp。 jsoncpp :0.5.0。
、jsoncpp Windows
, , 、 [1]。
jsconcpp JSON include/json、src/lib_json 。 jsoncpp , , , [2]。
jsoncpp , , makefiles/vs71/jsoncpp.sln ( VS2003 , VS2005 )。
、jsoncpp
jsoncpp class:Value、Reader、Writer。jsoncpp 、 namespace Json , json.h 。
Json::Value ANSI , C++ Unicode , Adapt 。
1、Value
Json::Value jsoncpp 、 , ,jsoncpp Json::ValueType 。
Json::Value :
Json::Value json_temp; // ,
json_temp["name"] = Json::Value("huchao");
json_temp["age"] = Json::Value(26);
Json::Value root; // json
root["key_string"] = Json::Value("value_string"); // Key( :key_string), :"value_string"。
root["key_number"] = Json::Value(12345); // Key( :key_number), :12345。
root["key_boolean"] = Json::Value(false); // Key( :key_boolean), bool :false。
root["key_double"] = Json::Value(12.345); // Key( :key_double), double :12.345。
root["key_object"] = Json_temp; // Key( :key_object), json::Value 。
root["key_array"].append("array_string"); // Key( :key_array), , :"array_string"。
root["key_array"].append(1234); // key_array , :1234。
Json::ValueType type = root.type(); // root , objectValue 。
: C++ ,JavaScript , jsoncpp 。
json , jsoncpp , 、 json 、 json , , 。
2、Writer
Json::Value , , json , Writer 。
Jsoncpp Json::Writer , 。 Json::Writer :Json::FastWriter、Json::StyledWriter、Json::StyledStreamWriter。
, Json::FastWriter json , 。
Json::FastWriter fast_writer;
std::cout << fast_writer.write(root) << std::endl;
:
{"key_array":["array_string",1234],"key_boolean":false,"key_double":12.3450,"key_number":12345,"key_object":{"age":26,"name":"huchao"},"key_string":"value_string"}
, Json::StyledWriter json, Json::StyledWriter 。
Json::StyledWriter styled_writer;
std::cout << styled_writer.write(root) << std::endl;
:
{"key_array" : [ "array_string", 1234 ], "key_boolean" : false,"key_double" : 12.3450, "key_number" : 12345, "key_object" : { "age" : 26, "name" : "huchao"}, "key_string" : "value_string" }
3、Reader
Json::Reader , , Json::Value , 。
Json::Reader reader;
json::Value json_object;
const char* json_document = "{\"age\" : 26,\"name\" : \"huchao\"}";
if (!reader.parse(json_document, json_object))
return 0;
std::cout << json_object["name"] << std::endl;
std::cout << json_object["age"] << std::endl;
:
"huchao"
26
, json 。
--------------------------------------
[1]: , 、 , , 。
[2]: 、 , VS , Project --> Properties 。
:http://hi.baidu.com/awz_tiger/blog/item/d165970b4ca967fc36d122a4.html
:http://blog.csdn.net/vagrxie/article/details/5754179
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콘텐츠 SaaS | JSON 스키마 양식 빌더Bloomreach Content를 위한 JSON Form Builder 맞춤형 통합을 개발합니다. 최근 Bloomreach Content SaaS는 내장 앱 프레임워크를 사용하여 혁신적인 콘텐츠 유형 필드를 구축할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.