QT平台上的Json解析

这几天研究了一下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(); 
       
}

你可能感兴趣的:(QT平台上的Json解析)