シンプルGson例:
public class Main {
public class Power {
private String name;
private Long damage;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getDamage() {
return damage;
}
public void setDamage(Long damage) {
this.damage = damage;
}
public Power() {
super();
}
public Power(String name, Long damage) {
super();
this.name = name;
this.damage = damage;
}
@Override
public String toString() {
return "Power [name=" + name + ", damage=" + damage + "]";
}
}
public class Warrior {
private String name;
private Power power;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Power getPower() {
return power;
}
public void setPower(Power power) {
this.power = power;
}
public Warrior() {
super();
}
public Warrior(String name, Power power) {
super();
this.name = name;
this.power = power;
}
@Override
public String toString() {
return "Warrior [name=" + name + ", power=" + power.toString() + "]";
}
}
public static void main(String[] args) {
Main m = new Main();
m.run();
}
private void run() {
Warrior jake = new Warrior("Jake the dog", new Power("Rubber hand", 123l));
String jsonJake = new Gson().toJson(jake);
System.out.println("Json:"+jsonJake);
Warrior returnToWarrior = new Gson().fromJson(jsonJake, Warrior.class);
System.out.println("Object:"+returnToWarrior.toString());
}
}
はとにかくdocumentationをチェックアウト。
アプリケーションに何かを残すには、ORMliteのような単純なものから始めましょう。
このヘルプが必要です。 :]
UPDATE:
をあなたが本当にファイルにJSONを書きたい場合:
File myFile = new File("/sdcard/myjsonstuff.txt");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter =new OutputStreamWriter(fOut);
myOutWriter.append(myJsonString);
myOutWriter.close();
fOut.close();
そして、あなたが読みたい場合:
File myFile = new File("/sdcard/myjsonstuff.txt");
FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn));
String aDataRow = "";
String aBuffer = ""; //Holds the text
while ((aDataRow = myReader.readLine()) != null)
{
aBuffer += aDataRow ;
}
myReader.close();
をさらに追加します。<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
をマニフェストに
しかし、真剣にORMを使用して、レコードをdbに格納する方がはるかに優れています。なぜjsonデータをファイルに保存する必要があるのか分かりませんが、私があなただったらORMの方法を使います。内部ストレージ上のファイルにあなたのJSONを保存する方法
これはGsonの問題ではないようですが、Androidデバイスにファイルを作成する方法の情報を探しているようです。 –
@RayStojonic私はそれが問題ではないとは言いませんでした。私はそれを使用する方法についての任意の良い情報を見つけることができません。 – Deekor
これはおそらくあなたを助けることができます:http://developer.android.com/training/basics/data-storage/files.html – giampaolo