2012-11-08 49 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服務器並共享信息的客戶端。