2011-01-13 13 views
28

Google Gsonを使用してjsonオブジェクトを作成するにはどうすればよいですか? 次のコードは、{"name":"john"}GSONオブジェクトの作成

JsonObject jsonObject = new JsonObject(); 
jsonObject.addProperty("name", "john"); 

のように見えるJSONオブジェクトを作成するにはどうすればこのようなJSONオブジェクトを作成するのですか?

{"publisher":{"name":"john"}} 
+0

あなたは[Gson](http://code.google.com/p/google-gson/)についてお話ししていますか? –

+0

はい。私はGsonについて取っています。 – Raunak

+0

タイトルを変更しますか? –

答えて

14

Javaオブジェクトを使用して正しく行う方法を説明しました。

Creator creator = new Creator("John"); 
new Gson().toJson(creator); 

Creator javaクラスの実装。

public class Creator { 

    protected String name; 

    protected HashMap<String, String> publisher = new HashMap<String, String>(); 

    public Creator(String name){ 
      publisher.put("name", name); 
    } 
} 
+0

ちょっとした柔軟性を追加するには、HashMap実装を直接使用するのではなく、Mapインターフェイスを使うことをお勧めします。 – Davio

+4

名前欄のポイントは何ですか?それは決して決してない。 –

59
JsonObject innerObject = new JsonObject(); 
innerObject.addProperty("name", "john"); 

JsonObject jsonObject = new JsonObject(); 
jsonObject.add("publisher", innerObject); 

http://www.javadoc.io/doc/com.google.code.gson/gson


だけFYI:Gsonは本当にへ/ JSONからJavaオブジェクトを変換するために作られています。これがGsonを使用している主要な方法である場合、私はあなたがその点を見逃していると思います。

+0

Hmmh。ありがとう。それがSOコメントフォーマッタのマイナーなバグであるかどうかわからない...とにかく、後続の括弧を取り除くために、リンクは:http://cowtowncoder.com/blog/archives/2009/01/entry_131.html – StaxMan

+0

oh Ok。私はあなたがGsonをあらゆるものに使うことができると思った。情報をありがとう。 – Raunak

+1

@ラウナック:確かに、あなたはそれを使用することができます - しかし、私が言ったように、あなたはポイントを見逃しています。 Javaオブジェクトから始めます。 –

関連する問題