xref: /aosp_15_r20/external/pigweed/pw_json/docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
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