[Development] Best-practice data type to pass JSON data between C++ and QML

Jedrzej Nowacki jedrzej.nowacki at digia.com
Thu Aug 8 10:44:36 CEST 2013


Have you tried QJSValue? It is a wrapper around js object so in theory no 
conversion is needed

On Wednesday 7. August 2013 17.17.19 Milian Wolff wrote:
> Hey there!
> 
> What data type is the most efficient to pass JSON data between C++ and QML?
> Is there one which does not incur any conversions at all? I tried with
> QVariantMap and QJsonObject, both work more or less equally well I think.
> Are both the best you can get?
> 
> I'm interested in both ways btw., i.e.:
> 
> test.qml
> Item {
>   function foo() {
>     for(var i in myObj.data) {
>       console.log(i, myObj.data[i]);
>     }
>     myObj.data = {foo: "bar", asdf: 42.0};
> }
> 
> 
> MyObj.h
> 
> typedef JSONData ?;
> 
> class MyObj : public QObject {
>   Q_OBJECT
>   Q_PROPERTY(data READ data WRITE setData NOTIFY dataChanged)
> public:
>   JSONData data() const;
>   void setData(const JSONData& data) const;
> signals:
>   void dataChanged(JSONData);
> };
> 
> Thanks



More information about the Development mailing list