我尝试使用此方法解析json字符串:
QString ourJSONData = QString('{"couchdb":"Welcome","version":"1.0.1"}');
QString response = QString("[") + QString(ourJSONData) + QString("]");
QScriptEngine engine;
QScriptValue sc = engine.evaluate(response);
ui->label->setText(sc.toString());
但标签返回
SyntaxError:解析错误
我使用Qt 4.7.4
我做错了什么?感谢。
UPD:
对不起,问题在于该字符串:
QString ourJSONData = QString('{“couchdb”:“欢迎”,“版本”:“1.0.1”}');
需要改为:
找到了这种方法QString ourJSONData = QString(“{\”couchdb \“:\”Welcome \“,\”version \“:\”1.0.1 \“}”);
答案 0 :(得分:3)
我在QtCreator中构建了你的代码,得到了一条非常有用的错误信息:
字符常量对于其类型来说太长了
这是因为你的ourJSONData
变量是用单引号的文本初始化的,这个单词用于单个字符。
这将纠正初始化。 (我在每个双引号之前加上\
,然后将单引号更改为double:
QString ourJSONData = QString("{\"couchdb\":\"Welcome\",\"version\":\"1.0.1\"}");