2012-08-10 64 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"); 

等。