0

Androidの(呼び出し、メッセージなど)データベースから情報を取得し、それを Cursor オブジェクトとして保存するtxtファイルがいくつかあります。

次に、Cursor を JSON オブジェクトに変換し、デバイスの SD カードの txt ファイルに保存します。ファイルから読み取ると、次のような文字列として行が取得されます。

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

String の値を MySQL テーブルに保存する必要があります。これを JSON または Map に戻す方法はありますか?

値が一重引用符で囲まれるように文字列を編集し、MySQL 構文を使用して単純にファイルにフィールドをロードすることを考えました。

ありがとう!

4

4 に答える 4

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 に答える
1

この目的には、 JSon-lib (または) GSONライブラリを使用する必要があります。

GSon コードの例は次のとおりです。

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

注: YourObject は getter/setter を持つ Java クラスです。

于 2012-08-10T15:17:35.800 に答える
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");

等..

于 2012-08-10T16:21:07.063 に答える