0

我有几个 txt 文件,它们从 android 的(调用、消息等)数据库中获取一些信息并将其存储为 Cursor 对象。

然后我将光标转换为 JSON 对象,然后将其存储在设备上 SD 卡上的 txt 文件中。当我从文件中读取时,我得到的行是这样的字符串:

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

我必须将字符串的值存储到 MySQL 表中。有没有办法可以将它转换回 JSON 或 Map?

我考虑过编辑字符串,使值用单引号括起来,并使用 MySQL 语法简单地加载文件中的字段。

谢谢!

4

4 回答 4

1

为此,您需要使用JSon-lib(或)GSon库。

示例 Gson 代码将是:

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

注意: YourObject 是带有 getter/setter 的 java 类。

于 2012-08-10T15:17:35.800 回答
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文档。

于 2012-08-10T16:03:06.790 回答
0

这里有一个使用GSON库实现类型化对象转换的教程。

http://java.sg/parsing-a-json-string-into-an-object-with-gson-easily/

于 2012-08-10T16:06:48.073 回答
0

Sathishpaul 是正确的,但只是为了澄清:

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

ETC..

于 2012-08-10T16:21:07.063 回答