您的位置:首页 > 编程语言 > Qt开发

QT平台上的Json解析

2011-02-25 11:19 281 查看
这几天研究了一下QT平台上的JSON解析
因为方法比较多,搞的我也是晕晕的。
总算也是小有收获在这里做个备忘。

QT平台上JSON解析有比较多的办法
1。系统提供了QScriptEngine QScriptValue可以解析JSON
2。QT平台有一个开源的QJson库这个封装的不错用起来也很方便,不过
我在调试中发现好像不能解析二维的情况。郁闷啊。不晓得是不是我的人品的问题
3。自己花时间移植了libjson纯C的开源库到QT上。网上据说是开源库里速度最快的。扛扛的。
首次在QT平台上移植开源的东西,感觉QT上移植真快啊。比起Symbian移植的工作量。那简直可以忽略的说。
当然还有其他的JSON解析器,也能移植过来。

libjson是我在SYMBIAN上使用的解析库,所以用起来也算得心应手。舒服啊。
不过libjson有个缺点,解析的时候必须有关键字。

因为后二个是开源解析的,也没有太多好介绍的。
就简单说下系统自带的解析器的用法。

//简单的初始化一段数据
QByteArray result = /"{///"foo///":///"bar///",///"number///":51.3}/";

QScriptValue sc;
QScriptEngine engine;
sc = engine.evaluate(/"value = /" + QString(result));//注意这里必须这么用。不知道为什么。没有去研究。
// In new versions it may need to look like engine.evaluate(/"(/" + QString(result) + /")/");

QScriptValueIterator it(sc);
while (it.hasNext()) {

it.next();

//打印输出对应的值

qDebug() << it.name() << /": /" << it.scriptName() << /":/" << it.value().toString();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: