2012-08-10 88 views
0

我有幾個txt文件從android的(調用,消息等)數據庫獲取一些信息並將其存儲爲一個Cursor對象。JSON字符串到Java中的JSON

我則光標轉換到其然後存儲在txt文件在設備上的SD卡上的JSON對象。當我從文件中讀取時,我將線條看作如下所示的字符串:

{"date":1332969098495,"duration":0,"number":"7038673588","Device_ID":"streak"} 

我必須將字符串的值存儲到MySQL表中。有沒有一種方法可以將它轉換回JSON或Map?

我想過編輯字符串,所以值被一個單引號包圍,並使用MySQL語法來簡單地加載文件上的字段。

謝謝!

回答

1

你可以從你的字符串創建一個JSONObject。這將幾乎提供相同的功能作爲java.util.Map的。例如,

String jsonStr = "json representation of your data"; 
JSONObject jObj = new JSONObject(jsonStr); 
jObj.get(yourKeyString); 
//do more with your jObj here... 

希望這會有所幫助。請參考JSONObject文檔瞭解更多信息。

+0

又見http://developer.android.com/reference/org/json/JSONObject.html – 2012-08-10 16:27:37

+0

正是我需要的,謝謝。 – Clocker 2012-08-10 16:49:10

1

您需要使用JSon-lib(或)GSon庫用於這一目的。

例GSON代碼將是:

YourObject obj = gson.fromJson(inputJson, YourObject.class); 

注: YourObject是java類吸氣劑/調節器。

+0

我添加了一個緩衝的讀者,從文件中讀取,使用的gson.FromJson(讀者的JSONObject 。類)。看起來代碼只是掛在這些陳述之後。 – Clocker 2012-08-10 16:28:45

0

Sathishpaul是正確的,但我只想澄清:

JSONObject obj = new JSONObject(YourJSONString); 
Long date = obj.getLong("date"); 
int duration = obj.getInt("duration"); 

等。