Qt json解析器返回解析错误

时间:2011-10-03 20:47:41

标签: qt json

我尝试使用此方法解析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 \“}”);

P.S。我在http://blog.siegerstein.com/archives/134

找到了这种方法

1 个答案:

答案 0 :(得分:3)

我在QtCreator中构建了你的代码,得到了一条非常有用的错误信息:

  

字符常量对于其类型来说太长了

这是因为你的ourJSONData变量是用单引号的文本初始化的,这个单词用于单个字符。

这将纠正初始化。 (我在每个双引号之前加上\,然后将单引号更改为double:

QString ourJSONData = QString("{\"couchdb\":\"Welcome\",\"version\":\"1.0.1\"}");