2016-08-17 129 views
0

我真的很熟悉SAPUI5,因此我必须在本主题中学到很多东西。这是我目前的问题:将JSON文件中的数据存入本地存储

我有一个应用程序输入字段已经有值。这些值被写入JSON文件。应用程序用户可以更改这些输入值,并且应该能够使用保存按钮保存它们。我读过,不可能通过用户交互来更改JSON文件中的数据。应该使用本地存储。它是如何工作的?如何将JSON文件中的数据放入本地存储中?

感谢您的回答!

+0

在某些时候,你的JSON文件将被加载到你的应用程序。从那时起,您不再使用实际的文件,而是将来自该文件的数据表示为JavaScript对象。有关SAPUI5中本地存储使用情况的更多详细信息,请参阅下面的答案。 – cschuff

回答

0

说到 '浏览器JS',本地存储的可能是指这样的:https://developer.mozilla.org/en/docs/Web/API/Window/localStorage

要保存JSON: window.localStorage.setItem('savedJson', yourJsonObject);

阅读: var loadedJson = window.localStorage.getItem('savedJson'):

+0

感谢您的快速响应!我尝试了你所说的,但有一个错误:本地存储不能在Fiori应用程序中使用。我读了一些关于jQuery.sap.storage的内容,但我不知道如何将它用于JSON文件。你或其他人有什么想法吗? – LCP

2

有一个在SAPUI5已经是API所谓jQuery.sap.storage这就是你如何使用它:

存储数据

var oStore = jQuery.sap.storage(jQuery.sap.storage.Type.local); 
oStore.put("id", { test: "test" }); 

检索数据

var oStore = jQuery.sap.storage(jQuery.sap.storage.Type.local); 
var oDate = oStore.get("id"); 

putget方法已经为你做了JSON(字符串化/分析)工作。

BR 克里斯

+0

谢谢!我可以一次存储我的JSON文件的所有数据吗? – LCP

+0

当然可以。只需将整个对象放入put方法即可:oStore.put(“id”,oYourJSONData); – cschuff

+0

当我编写oStore.put(“id”,“Assets”)时,系统认为“Assets”是一个值,而不是我的JSON文件。所以我认为这样的事情更好,不是吗?但它也行不通。 \t \t \t jQuery.sap.require(“jquery.sap.storage”); \t \t \t var oStorage = jQuery.sap.storage(jQuery.sap.storage.Type.local); \t \t \t var oModel = new JSONModel(); \t \t \t var oData = oModel.loadData(“Assets”); \t \t \t oStorage.put(“LocalStorage”,oData); \t \t \t oStorage.get(“LocalStorage”); – LCP