212b600868
The monitor does not pretty-print JSON output, so that everything will be on a single line reply. When JSON docs get large this is quite unpleasant to read. For the future command line capabilities query ability, huge JSON docs will be available. This needs the ability to pretty-print. This introduces a new API qobject_to_json_pretty() that does a minimal indentation of list and dict members. As an example, this makes {"QMP": {"version": {"micro": 50, "minor": 12, "package": "", "major": 0}, "capabilities": []}} Output as { "QMP": { "version": { "micro": 50, "minor": 12, "package": "", "major": 0 }, "capabilities": [ ] } } NB: this is not turned on for the QMP monitor. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
30 lines
702 B
C
30 lines
702 B
C
/*
|
|
* QObject JSON integration
|
|
*
|
|
* Copyright IBM, Corp. 2009
|
|
*
|
|
* Authors:
|
|
* Anthony Liguori <aliguori@us.ibm.com>
|
|
*
|
|
* This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
|
|
* See the COPYING.LIB file in the top-level directory.
|
|
*
|
|
*/
|
|
|
|
#ifndef QJSON_H
|
|
#define QJSON_H
|
|
|
|
#include <stdarg.h>
|
|
#include "qobject.h"
|
|
#include "qstring.h"
|
|
|
|
QObject *qobject_from_json(const char *string);
|
|
QObject *qobject_from_jsonf(const char *string, ...)
|
|
__attribute__((__format__ (__printf__, 1, 2)));
|
|
QObject *qobject_from_jsonv(const char *string, va_list *ap);
|
|
|
|
QString *qobject_to_json(const QObject *obj);
|
|
QString *qobject_to_json_pretty(const QObject *obj);
|
|
|
|
#endif /* QJSON_H */
|