【问题标题】:Put data from JSON file into local storage将 JSON 文件中的数据放入本地存储
【发布时间】:2016-08-17 08:54:05
【问题描述】:

我对使用 SAPUI5 非常陌生,所以我必须在这个主题中学到很多东西。这是我目前的问题:

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

感谢您的回答!

【问题讨论】:

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

标签: javascript json local-storage sapui5


【解决方案1】:

在 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 克里斯

【讨论】:

  • 谢谢!我可以一次存储我的 JSON 文件的所有数据吗?
  • 当然可以。只需将整个对象扔到 put 方法中:oStore.put("id", oYourJSONData);
  • 当我编写 oStore.put("id", "Assets") 时,系统认为“Assets”是一个值,而不是我的 JSON 文件。所以我认为这样的东西更好,不是吗?但它也不起作用。 jQuery.sap.require("jquery.sap.storage"); var oStorage = jQuery.sap.storage(jQuery.sap.storage.Type.local); var oModel = new JSONModel(); var oData = oModel.loadData("资产"); oStorage.put("LocalStorage", oData); oStorage.get("LocalStorage");
  • 这很混乱。请看下面
【解决方案2】:

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

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

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

【讨论】:

  • 感谢您的快速回复!我试过你说的但有一个错误:本地存储不能在Fiori应用程序中使用。我读了一些关于 jQuery.sap.storage 但我不知道如何将它与 JSON 文件一起使用。你或其他人有什么想法吗?
猜你喜欢
  • 2015-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-26
  • 1970-01-01
相关资源
最近更新 更多