【问题标题】:Generate and load JSON dump in modern browsers?在现代浏览器中生成和加载 JSON 转储?
【发布时间】:2011-05-09 09:08:35
【问题描述】:

我正在编写一个可以保存或打开 JSON 对象的 Web 应用程序,要让它的行为与离线桌面应用程序完全一样,最佳做法是什么? JSON 转储应该只是纯文本还是其他形式?

即使没有网络连接也能正常工作吗?这意味着我们必须使用纯客户端 Javascript 生成保存文件/打开文件对话框。

【问题讨论】:

    标签: javascript json html


    【解决方案1】:

    您可以使用现代浏览器的 localStorage API 来保存所有需要的数据。

    localStorage 使您能够存储离线数据,但请确保您的数据符合配额。

    另外请记住,在这种情况下,原生 JSON 支持会很方便(例如 JSON.stringify())。

    以下是一些可能有用的链接:

    JSON in JS

    localStorage

    【讨论】:

    • 我可以使用 localStorage 以外的东西吗?我需要导出和移植数据。
    • 您所说的“导出和便携”是什么意思?存储在 json 结构中的所有数据在 json 语法范围内都是“可移植的”,因为它是序列化的形式,您可以轻松地从 localStorage 中获取数据。
    • 因为像 JSON 转储需要使用 USB 密钥传送到不同的机器?
    • 如果您需要提取 json 中的所有数据,您可以使用 JSON.stringify()。所有这些数据都很简单(我认为是 utf8 或 unicode,即 utf16 - 不确定)文本,因此您可以抓取它,粘贴到 USB 密钥上的文件中,然后稍后恢复。
    • 由于安全原因(javascript沙箱),您无法访问文件系统。也许这会有所帮助dev.w3.org/2006/webapi/FileAPI
    【解决方案2】:

    我现在拥有合适的技术来做到这一点:

    1. 打开对话框:http://www.html5rocks.com/en/tutorials/file/dndfiles/

    2. 保存 JSON 数据:类似于 data://application/json;base64,eyJkYXRhIjogImhlbGxvLCBqc29uISJ9

    3. 原生json解析https://developer.mozilla.org/en-US/docs/Using_native_JSON

    【讨论】:

      猜你喜欢
      • 2014-10-10
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 2020-12-11
      相关资源
      最近更新 更多