2016-08-17 58 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