catalog
QJsonDocument
有2个功能
-
1, 将一个QJsonObjec对象
obj
或 QJsonArray数组arr
, 转换成 JSON字符串
QByteArray json_str = QJsonDocument( obj 或 arr)::toJson( QJsonDocument::Indented 或 Compact)
Indented会缩进, 即他会换行; Compact为压缩;
Qt里存JSON字符串, 是用QByteArray来存储 的; 所以, 如果涉及到中文, 你可以将QByteArray转换为QString
QByteArray json_bin_str = QJsonDocument( obj 或 arr)::toBinaryData()
toJson() 是转换为: JSON字符串, ascii码
; 和toBinaryData() 是转换为: JSON字符串 - 二进制码
;
这两种, 都是JSON字符串 -
2, 将一个JSON字符串 转换为 一个JsonObjec对象
obj
或 JsonArray数组arr
QJsonArray或QJsonObject ret = QJsonDocument::fromJson( json_str, [QJsonParseError *]).array()或object()
QJsonArray或QJsonObject ret = QJsonDocument::fromBinaryData( json_bin_str, [QJsonParseError *]).array()或object()
这两个方法, 和上面两个 对应;