1*61c4878aSAndroid Build Coastguard Worker.. _module-pw_json: 2*61c4878aSAndroid Build Coastguard Worker 3*61c4878aSAndroid Build Coastguard Worker======= 4*61c4878aSAndroid Build Coastguard Workerpw_json 5*61c4878aSAndroid Build Coastguard Worker======= 6*61c4878aSAndroid Build Coastguard Worker.. pigweed-module:: 7*61c4878aSAndroid Build Coastguard Worker :name: pw_json 8*61c4878aSAndroid Build Coastguard Worker 9*61c4878aSAndroid Build Coastguard Worker Use :cpp:class:`pw::JsonBuilder` to serialize JSON to a buffer. It's simple, 10*61c4878aSAndroid Build Coastguard Worker safe, and efficient. 11*61c4878aSAndroid Build Coastguard Worker 12*61c4878aSAndroid Build Coastguard Worker .. literalinclude:: builder_test.cc 13*61c4878aSAndroid Build Coastguard Worker :language: cpp 14*61c4878aSAndroid Build Coastguard Worker :start-after: [pw-json-builder-example-1] 15*61c4878aSAndroid Build Coastguard Worker :end-before: [pw-json-builder-example-1] 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Worker The above code produces JSON equivalent to the following: 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Worker .. code-block:: json 20*61c4878aSAndroid Build Coastguard Worker 21*61c4878aSAndroid Build Coastguard Worker { 22*61c4878aSAndroid Build Coastguard Worker "tagline": "Easy, efficient JSON serialization!", 23*61c4878aSAndroid Build Coastguard Worker "simple": true, 24*61c4878aSAndroid Build Coastguard Worker "safe": 100, 25*61c4878aSAndroid Build Coastguard Worker "dynamic allocation": false, 26*61c4878aSAndroid Build Coastguard Worker "features": ["values", "arrays", "objects", "nesting!"] 27*61c4878aSAndroid Build Coastguard Worker } 28*61c4878aSAndroid Build Coastguard Worker 29*61c4878aSAndroid Build Coastguard Worker----------- 30*61c4878aSAndroid Build Coastguard WorkerJsonBuilder 31*61c4878aSAndroid Build Coastguard Worker----------- 32*61c4878aSAndroid Build Coastguard Worker.. doxygenfile:: pw_json/builder.h 33*61c4878aSAndroid Build Coastguard Worker :sections: detaileddescription 34*61c4878aSAndroid Build Coastguard Worker 35*61c4878aSAndroid Build Coastguard Worker**Example** 36*61c4878aSAndroid Build Coastguard Worker 37*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: builder_test.cc 38*61c4878aSAndroid Build Coastguard Worker :language: cpp 39*61c4878aSAndroid Build Coastguard Worker :start-after: [pw-json-builder-example-2] 40*61c4878aSAndroid Build Coastguard Worker :end-before: [pw-json-builder-example-2] 41*61c4878aSAndroid Build Coastguard Worker 42*61c4878aSAndroid Build Coastguard WorkerAPI Reference 43*61c4878aSAndroid Build Coastguard Worker============= 44*61c4878aSAndroid Build Coastguard Worker.. doxygengroup:: pw_json_builder_api 45*61c4878aSAndroid Build Coastguard Worker :content-only: 46*61c4878aSAndroid Build Coastguard Worker :members: 47