998da0b158
We have two JSON writers written in C: qobject/qjson.c provides qobject_to_json(), and migration/qjson.c provides a more low level imperative interface. They don't share code. The latter tacitly limits numbers to int64_t, and strings contents to characters that don't need escaping. Factor out qobject_to_json()'s JSON writer as qobject/json-writer.c. Straightforward, except for numbers: since the writer is to be independent of QObject, it can't use qnum_to_string(). Open-code it instead. This is actually an improvement of sorts, because it liberates qnum_to_string() from JSON's needs: its JSON-related FIXMEs move to the JSON writer, where they belong. The next commit will replace migration/qjson.c. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20201211171152.146877-16-armbru@redhat.com> |
||
---|---|---|
.. | ||
dispatch.h | ||
json-parser.h | ||
json-writer.h | ||
qbool.h | ||
qdict.h | ||
qerror.h | ||
qjson.h | ||
qlist.h | ||
qlit.h | ||
qnull.h | ||
qnum.h | ||
qobject.h | ||
qstring.h |