Json 在 Sapui5 中解析和推送 Web sql 数据库

Json parse and push web sql database in Sapui5

我会设计一个样本。我的项目将获取所有 json 数据并插入到我的网站 sql database.Firstly 我使用 ajax 获取我的数据并尝试解析它。当我解析时,我没有访问我的 json 字段。

var oModel = new sap.ui.model.json.JSONModel();

var aData = jQuery
        .ajax({

            url : "http://../DataSource?format=json&key....", 

            dataType : "json",

            success : function(data, textStatus, jqXHR) { 
                var JsonData = data;
                oModel.setData(JsonData); 

            },

            error : function(jqXHR, textStatus, errorThrown) {

            }

        });

obj = JSON.parse(oModel);
var myTextField = obj.Name;// This is not working 
console.log(myTextField); 

我也试过这个。

var model = new sap.ui.model.json.JSONModel();
    model.loadData("http://.../DataSource?format=json&key=...");
    obj = JSON.parse(model);
    var myTextField = obj.Name;
    console.log(myTextField); 

这是我的数据库。我想插入所有姓名字段。

function populateDB(tx) {
    tx.executeSql('DROP TABLE IF EXISTS emre');
    tx.executeSql('CREATE TABLE IF NOT EXISTS emre (id unique, data)');
    tx.executeSql('INSERT INTO emre (id, data) VALUES (?,?)', [ name ,
            surname ]);


}

您似乎尝试解析模型,但这不是 JSON 结构,而是恰好包含 JSON 结构的 UI5 对象。

但是你为什么要解析第一个 olace 中的 JSON?如果您的 AJAX 调用成功完成,并将检索到的数据存储在您的模型中,您只需使用

从模型中访问它
model.getProperty("/path/to/your/property");

看看文档中的模型 API,那里解释得很好


EDIT 要在数据加载后获取数据,请使用 attachRequestCompleted 事件处理程序:

var model = new sap.ui.model.json.JSONModel(); 
model.attachRequestCompleted( function(){
    console.log(model.getProperty("Name"));
});
model.loadData("http:.../DataSource?format=json&key=...);