使用哪些现成的库?
即在输入字符串时,不要使用引号并转换为标准JSON,因为已经有现成的库用于解析JSON-on。
直接解析为QMap<QVariant>
注意力!您不需要用于解析正确JSON-a 的库,而是用于解析不正确的行的库JSON-th
例如,这是一个解析普通JSON:
QJsonDocument doc = QJsonDocument::fromJson("[\"a\",\"b\",\"c\"]");
QJsonArray arr = doc.array();
QJsonValue value = arr.at(0);
qDebug() << "value:" << value.toString();
结论:value: "a"
我的情况:
QJsonDocument doc = QJsonDocument::fromJson("[a,b,c]");
QJsonArray arr = doc.array();
QJsonValue value = arr.at(0);
qDebug() << "value:" << value.toString();
结论:value: ""
也就是说,我需要解析字符串"[a,b,c]"而不是"[\"a\",\"b\",\"c\"]"
非常好的 NLohmann Json 库:现代 C++ 的 Json。它是从 github 下载的:https ://github.com/nlohmann/json据我了解,您的任务可以在该库的框架内解决。有例子,有学习资料,做得好。对于您的项目,仅包含一个标题就足够了。它是用 C++ 的现代方言编写的。支持将 json 数据与 STL 容器、C++14 字符串等形式的数据相互转换。我只会注意到这个库不是为高速工作而编写的,而是为简单的工作而编写的,为了速度,例如使用 Rapid Json。