下载 源码解压 https://github.com/flavio/qjson
复制 src 目录下所有 .h .cpp .hh 文件到项目目录 qjson,pro 文件添加 INCLUDEPATH += ./qjson
在工程中添加所有 qjson 下的源文件,由于编译会报错,不添加以下四个文件
serializerrunnable.h serializerrunnable.cpp
parserrunnable.h parserrunnable.cpp
编译并使用
解析 json 格式数据
{
"data": [
{
"id": "14314495",
"name": "cnblogs"
}
]
}
QByteArray content = QByteArray::fromBase64(f.readAll());
f.close(); QJson::Parser parser;
bool ok;
QVariant temp = parser.parse(content, &ok);
QVariantMap jsonMap = temp.toMap();
foreach (QVariant var, jsonMap["data"].toList()) {
QVariantMap varMap = var.toMap();
STask task;
task.id = varMap["id"].toString();
task.name= varMap["name"].toString();
}