Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Posts: 23
Registered: ‎11-15-2012
My Device: Red Z10 & PlayBook
My Carrier: E-Plus

Editing data saved in json file

Hello everyone,


I have here a small problem. I started building a small app with the Grid List Template in Momentics IDE. It has a grid list and when you click on a grid item, a second page gets opened. Here you can edit the data of the grid item.

This change has to be saved in the json-file back, but I am having some troubles at this point:



#include "Plan.h"
#include <qdebug.h>
#include <bb/cascades/GroupDataModel>
#include <bb/data/JsonDataAccess>

Plan::Plan() {}

void Plan::savePlan(QString id, QString tag, QString newFach, QString newRaum) {
	bb::data::JsonDataAccess jda;
	QVariantList lst = jda.load("app/native/assets/mydata.json").toList();
	if (jda.hasError()) {
	    //bb::data::DataAccessError error = jda.error();
	    //qDebug() << "JSON2 loading error: " << error.errorType() << ": " << error.errorMessage();
	} else {
	    qDebug() << "JSON2 data loaded OK!";
	    GroupDataModel *m = new GroupDataModel();
	    // insert the JSON data to model
	    // make the model flat

	    QVariantMap newEntry;
	    newEntry["id"] = id;
	    newEntry["tag"] = tag;
	    newEntry["fach"] = newFach;
	    newEntry["raum"] = newRaum;

	    m->updateItem(1, newEntry);

	    QVariant newData = QVariant(QVariantList() << QVariant(m->data(0)) << QVariant(m->data(1)) << QVariant(m->data(2)) << QVariant(m->data(3)));

	    QDir home = QDir::home();
	    QTemporaryFile file(home.absoluteFilePath("app/native/assets/mydata.json"));

	    // Open the file that was created
	    if (file.open()) {
	    	// Create a JsonDataAccess object and save the data to the file
	    	//JsonDataAccess jda;
	    	jda.save(newData, &file);

The basic problem is that this code does not get compiled Smiley Wink It gives me the following error:


../src/Plan.cpp:16:6: error: 'GroupDataModel' was not declared in this scope
../src/Plan.cpp:16:6: note: suggested alternative:
C:/bbndk/target_10_0_9_1101/qnx6/usr/include/bb/cascades/databinding/groupdatamodel.h:241:29: note:   'bb::cascades::GroupDataModel'
../src/Plan.cpp:16:22: error: 'm' was not declared in this scope
../src/Plan.cpp:16:30: error: expected type-specifier before 'GroupDataModel'
../src/Plan.cpp:16:30: error: expected ';' before 'GroupDataModel'
../src/Plan.cpp:20:21: error: 'ItemGrouping' has not been declared

But I really do not know anymore, what this means. If it may help: Since Beta 4 update (+ complete reinstall of SDK) I have problems with using Qt at all in the IDE, as I'm getting for example "Unresolved inclusion: <"qdebug.h">.

EDIT: I could solve this problem with adding "bb::cascades::" before like in the suggested alternative. But I am still not sure if this is the right way to load and save data in Cascades.


Best Regards,


Posts: 103
Registered: ‎02-13-2012
My Device: Z10 LE
My Carrier: Rogers

Re: Editing data saved in json file

I think this is a namespace problem.  In one of your header files or at the top of this file, you need:


using namepsace bb:cascades;


I hope that helps,


Learn to run and get in shape with Couch 2AnyK Pro, a Built for BlackBerry native Couch to 5K (C25K) app for BlackBerry 10, available in BlackBerry World.