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

Milian Wolff mail at milianw.de
Thu Aug 8 17:04:38 CEST 2013


On Thursday 08 August 2013 10:44:36 Jedrzej Nowacki wrote:
> Have you tried QJSValue? It is a wrapper around js object so in theory no
> conversion is needed

I don't see a way to construct a QJSValue which holds a JSON object.

Bye

> 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
-- 
Milian Wolff
mail at milianw.de
http://milianw.de



More information about the Development mailing list