1

问题

我需要一种在本地(共享)机器上托管的完全离线(!)Web 应用程序中存储和收集 JSON 数据的方法。有几个人会访问该应用程序,但它永远不会真正在线。

我希望该应用程序:

  • 以编程方式连续读写 JSON 数据(即不使用文件上传类型模式)
  • 最好不需要安装浏览器以外的任何软件,特别是我不想使用本地服务器。(编辑:如果有帮助,我可能愿意学习一点 Python)
  • 我需要存储的数据量很小,因此使用某种数据库非常过分。

解决方案?

我的第一个想法是让 html5 文件 API,只需读取/解析我的 JSON 对象并将其写入本地 txt 文件,但这似乎不可能?!

本地存储在这里不适用,当几个人 - 每个人都有自己的浏览器 - 需要访问 html 时?

有任何想法吗?

笔记

我知道这个话题并不完全新颖,但我认为我的情况可能与其他线程略有不同。而且我在过去几个小时的大部分时间里都在谷歌上搜索这个,但我一点也不聪明..

4

5 回答 5

1

你考虑过 Python 的 Json 模块吗?http://docs.python.org/2/library/json.html

使用它,您可以将 python 对象与 json 字符串相互转换。您可以根据需要存储字符串

于 2012-11-08T07:48:58.510 回答
1

您不能使用 Localstorage 来启用此类功能,因为每个客户端都会存储自己的数据集。

您是否考虑过使用 java 小程序来处理此类信息?

您可以启动一个 java 小程序,将其用作浏览器客户端之间的桥梁和信息存储。浏览器可以使用 websocket 共享此类信息。

前段时间我用这样的解决方案构建了演示。检查它:https ://github.com/KingRial/SBrower 在这个演示中,我打开一个浏览器/选项卡,它启动一个 java Applet 来创建一个 websocket 服务器。所有浏览器/选项卡只是连接到 websocket 服务器并共享信息的客户端。

于 2012-11-08T08:37:23.323 回答
0

由于python是问题标签之一,我给出了一个python解决方案:

import json

#reading
file_json = open("json.txt")
print file_json
python_json_object = json.loads(file_json)
print python_json_object
file_json.close()


#writing
file_json = open("json.txt", 'w')
file_json.write(json.dumps(python_json_object))
于 2012-11-08T07:49:17.463 回答
0

我的建议是类似于 WampServer(Windows、Apache、MySQL、PHP)。我看过一些关于将 Python 添加到该组合中的教程。

您将有权读取 JSON 数据并将其写入本地存储或将数据放入本地数据库。

于 2012-11-08T07:49:22.380 回答
0

我知道您说您不想选择本地服务器,但nodejs可能是解决方案。如果您了解 JavaScript,那么设置一台服务器并让每个人都可以从任何浏览器访问该服务器非常简单。由于它完全是 JavaScript,因此您甚至不会遇到 JSON 格式的转换问题。

为了存储 JSON,您可以使用 nodejs 的 FileSystem 内置库,它允许您从文件读取和写入,因此您甚至不需要数据库。

于 2012-11-08T08:20:10.223 回答