====== JSON functions ======
I quite often find myself storing JSON representations of objects in files.
In order to simplify the coding slightly, I decided to write a couple of very simple functions.
function writeAsJson(path,obj)
{
app.WriteFile(path,JSON.stringify(obj));
}
function readAsJson(path)
{
if (app.FileExists(path))
return JSON.parse(app.ReadFile(path));
app.ShowPopup(path+" does not exist");
return undefined;
}
These can be used in an app like this
//Called when application is started.
function OnStart()
{
//Create a layout with objects vertically centered.
var lay = app.CreateLayout( "linear", "VCenter,FillXY" );
//Create a text label and add it to layout.
var txt = app.CreateText( "Hello" );
txt.SetTextSize(32);
lay.AddChild( txt );
//Add layout to app.
app.AddLayout( lay );
test(txt);
}
function test(display)
{
// file to store data
var fil="/sdcard/jsontest.txt";
//build a test object
var stuff = {"value":1,"name":"one"};
//save object in a file
writeAsJson(fil,stuff);
//get copy of the object from the file
var newobj = readAsJson(fil);
//display data from the copy
display.SetText(newobj.name +" is "+ newobj.value);
}
function writeAsJson(path,obj)
{
app.WriteFile(path,JSON.stringify(obj));
}
function readAsJson(path)
{
if (app.FileExists(path))
return JSON.parse(app.ReadFile(path));
app.ShowPopup(path+" does not exist");
return undefined;
}