2012-09-26 47 views
0

如何使用ScriptEngine類在Qt中創建JSON對象? 到目前爲止,任何人都試過,請讓我知道。如何使用ScriptEngine類在Qt中創建JSON對象?

謝謝!

+0

我認爲http://qjson.sourceforge.net/對於Qt4來說已經足夠了。您不必使用ScriptEngine。 – liuyanghejerry

+0

我們不能使用ScriptEngine嗎? – tarun

+0

如果您不與其他JavaScript代碼進行交互,則可以使用QJson而不是ScriptEngine。 ScriptEngine主要用於與JavaScript進行交互。 – liuyanghejerry

回答

0

JavaScript中的JSON幾乎等於普通對象。

在Qt,評估對象,並把它傳遞給ScriptEngine的就夠了:

QScriptEngine myEngine; 
QScriptValue json = myEngine.evaluate("{\"k\":12, \"j\":14};"); 
qDebug()<<json.isObject(); 

然後我們得到了「真」,也就是我們在引擎初始化一個新的對象。

如果您想將正常的C++對象傳遞給JS,我認爲QScriptEngine::newObject()QScriptEngine::newQObject()值得嘗試,但我沒有測試它們。

+0

謝謝,我已經在上面嘗試過了。我需要根據來自本機形式的JSON對象的數據形成鍵值對,並將該對象傳遞給HTML頁面中的Java Script。 – tarun

+0

如果我理解它是正確的,你試圖從引擎中解析一個對象並做一些改變併發送回引擎。那麼你應該考慮'QScriptValue :: toVariant()'。但是,我沒有看到任何簡單的方法來發回對象。 – liuyanghejerry

+0

好的,謝謝你! – tarun

相關問題