如何在Tizen Studio中将新信息写入JSON文件

时间:2017-12-16 17:27:19

标签: javascript jquery json tizen tizen-web-app

我想在Tizen项目(移动设备)中将新信息写入现有的JSON文件。我发现没有PHP(或Node.js)是不可能的,并且Tizen不支持PHP。有没有办法在没有PHP的情况下将新数据发送到JSON(并且没有创建本地数据库)?

1 个答案:

答案 0 :(得分:1)

是的,可以使用Tizen FileSystem API和JSON.parse()& JSON.stringify()。 [作为Chris G注明评论]

var res,file,text,jsonInit,obj,jsonString;

function createFile(){
    tizen.filesystem.resolve("documents", function(dir) {
        res = dir.createDirectory("res");
        file = res.createFile("data.json");

        file.openStream(
                "w",
                function(fs) {
                    jsonInit = '{"data1":"a","data2":"b"}';
                    fs.write(jsonInit);
                    alert("JSON file Created");
                    fs.close();
                }, function(e) {
                    console.log("Error " + e.message);
                }, "UTF-8");
        });
    }
function addInfo(){ 
    tizen.filesystem.resolve("documents", function(dir) {
           file = dir.resolve("res/data.json");  
           file.openStream(
            "rw",
            function(fs) {
                text = fs.read(file.fileSize);               
                var obj  = JSON.parse(text);
                obj.data3 = 'c';
                jsonString =  JSON.stringify(obj);
                fs.position = 0;
                fs.write(jsonString);
                fs.close();
                alert("New Info added on data3 key");           
            }, function(e) {
                console.log("Error " + e.message);
            }, "UTF-8");
        });
    }

function readFromFile(){
    tizen.filesystem.resolve("documents", function(dir) 
            {
               var file = dir.resolve("res/data.json");
               file.openStream(
                    "r", 
                    function(fs) {
                        text = fs.read(file.fileSize);       
                        fs.close();
                        obj  = JSON.parse(text);
                        alert("Test read --> value on data2:" +obj.data2);
                        alert("Test read --> value on data3:" +obj.data3);
                    }, function(e) {
                        console.log("Error " + e.message);
                    }, "UTF-8");
            });
    }

测试演示:

enter image description here

查看实施指南和API参考。

FileSystem Guide

FileSystem API References