xref: /aosp_15_r20/external/jsoncpp/example/stringWrite/stringWrite.cpp (revision 4484440890e2bc6e07362b4feaf15601abfe0071)
1*44844408SAndroid Build Coastguard Worker #include "json/json.h"
2*44844408SAndroid Build Coastguard Worker #include <iostream>
3*44844408SAndroid Build Coastguard Worker /** \brief Write a Value object to a string.
4*44844408SAndroid Build Coastguard Worker  * Example Usage:
5*44844408SAndroid Build Coastguard Worker  * $g++ stringWrite.cpp -ljsoncpp -std=c++11 -o stringWrite
6*44844408SAndroid Build Coastguard Worker  * $./stringWrite
7*44844408SAndroid Build Coastguard Worker  * {
8*44844408SAndroid Build Coastguard Worker  *     "action" : "run",
9*44844408SAndroid Build Coastguard Worker  *     "data" :
10*44844408SAndroid Build Coastguard Worker  *     {
11*44844408SAndroid Build Coastguard Worker  *         "number" : 1
12*44844408SAndroid Build Coastguard Worker  *     }
13*44844408SAndroid Build Coastguard Worker  * }
14*44844408SAndroid Build Coastguard Worker  */
main()15*44844408SAndroid Build Coastguard Worker int main() {
16*44844408SAndroid Build Coastguard Worker   Json::Value root;
17*44844408SAndroid Build Coastguard Worker   Json::Value data;
18*44844408SAndroid Build Coastguard Worker   constexpr bool shouldUseOldWay = false;
19*44844408SAndroid Build Coastguard Worker   root["action"] = "run";
20*44844408SAndroid Build Coastguard Worker   data["number"] = 1;
21*44844408SAndroid Build Coastguard Worker   root["data"] = data;
22*44844408SAndroid Build Coastguard Worker 
23*44844408SAndroid Build Coastguard Worker   if (shouldUseOldWay) {
24*44844408SAndroid Build Coastguard Worker     Json::FastWriter writer;
25*44844408SAndroid Build Coastguard Worker     const std::string json_file = writer.write(root);
26*44844408SAndroid Build Coastguard Worker     std::cout << json_file << std::endl;
27*44844408SAndroid Build Coastguard Worker   } else {
28*44844408SAndroid Build Coastguard Worker     Json::StreamWriterBuilder builder;
29*44844408SAndroid Build Coastguard Worker     const std::string json_file = Json::writeString(builder, root);
30*44844408SAndroid Build Coastguard Worker     std::cout << json_file << std::endl;
31*44844408SAndroid Build Coastguard Worker   }
32*44844408SAndroid Build Coastguard Worker   return EXIT_SUCCESS;
33*44844408SAndroid Build Coastguard Worker }
34