2012-11-08 47 views
1

问题如何在本地机器上脱机读写JSON?

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

我想应用到:

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

解决方法?

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

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

任何想法?

我知道这个话题并不完全新颖的,但我觉得我的情况可能比其他线程略有不同。我已经花了最近几个小时的搜索结果中更好的一部分,我没有更明智的..

回答

1

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

使用此功能,您可以将python对象转换为json字符串或从json字符串转换而来。你可以存储但是要

+0

可能需要安装Python ... – martineau

+0

@martineau:他有python标记,所以我认为它可用 – Sheena

0

由于蟒蛇是问题的标签之一的琴弦,我给一个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)) 
+1

你正在混合加载/转储和加载/转储 – jfs

0

我的建议是这样的WampServer(在Windows,Apache,MySQL和PHP)。我已经看过一些关于将Python添加到该混合的教程。

您将有权读取和写入JSON数据到本地存储或将您的数据放入本地数据库。

0

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

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

1

您不能使用Localstorage来启用这些功能,因为每个客户端都将拥有自己的数据集。

你有没有考虑过使用java applet来处理这些信息?

您可以使用它作为浏览器客户端之间的桥梁并作为信息存储区启动一个java applet。 浏览器可以使用websockets共享这些信息。

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