2014-02-25 42 views
0

喜在我的項目,我需要與GSON類如何創建一個JSONArray與GSON

{ 
    "message": [ 
    "msg 1", 
    "msg 2", 
    "msg 3" 
    ], 
    "asec": [ 
    "asec 1", 
    "asec 2", 
    "asec 3" 
    ] 
} 

我知道如何與重要價值GSON創建JSONArray用於例如創建一個JSONArray型:

[ 
    { 
    "message1": "msg 1", 
    "asc": "asc 1" 
    }, 
    { 
    "message1": "msg 2", 
    "asc": "asc 2" 
    }, 
    { 
    "message1": "msg 3", 
    "asc": "asc 3" 
    } 
] 

但我不知道如何創建JSONArray類型的任何一個可以幫助我

+1

JSON數組只是一個序列化對象的列表。所以,如果你只是:Gson()。toJson(你的對象陣列) - 你應該最終得到一個不錯的JSONArray對象。 – LokiSinclair

+0

@LokiSinclair @LokiSinclair我可以有這個PLZ的任何示例 – Jagan

+0

@Jagan檢查我的答案我的下面創建jsonObject你需要使用谷歌的Gson庫 – Uttam

回答

3

類:

public class JsonStructure{ 
    public String[] message; 
    public String[] asec; 
} 

使用它:

JsonStructure json = new JsonStructure(); 
json.message = new String[]{"msg 1", "msg 2", "msg 3"}; 
json.asec = new String[]{"asec 1", "asec 2", "asec 3"}; 
Gson gson = new Gson(); 
String output = gson.toJson(json); 
//convert from string 
JsonStructure fromString = gson.fromJson(output, JsonStructure.class); 

有關谷歌的GSON更多詳情,請看一看https://sites.google.com/site/gson/gson-user-guide

+0

是偉大的工作感謝花花公子 – Jagan

+0

老兄我怎麼能得到相同的JSONArray值使用GSON我知道它是gson .fromJson()但我不知道如何得到 – Jagan

+0

@Jagan,看到更新回答 –

1
public class ArrayBean { 
    ArrayList<String> message = new ArrayList<String>(); 
    ArrayList<String> asec = new ArrayList<String>(); 

} 

創建bean類以上arraybean,則U可以在你的主類和打印添加值輸出。

Gson gson = new Gson(); 
    ArrayBean arrayBean = new ArrayBean(); 

     arrayBean.message.add("msg 1"); 
     arrayBean.message.add("msg 2"); 
     arrayBean.message.add("msg 3"); 

     arrayBean.asec.add("asec 1"); 
     arrayBean.asec.add("asec 2"); 
     arrayBean.asec.add("asec 3"); 


     Log.d("rvg",""+gson.toJson(arrayBean)); 
+0

感謝很多傢伙 – Jagan

+0

老兄我怎麼能得到相同的JSONArray值使用GSON – Jagan

+0

我知道它是gson.fromJson(),但我不知道如何得到 – Jagan

1

試試下面的代碼來創建你想要的JsonObject。

String[] msgArray = new String[]{"msg 1", "msg 2", "msg 3"}; 
String[] asecArray = new String[]{"asec 1", "asec 2", "asec 3"}; 

Gson gson = new Gson(); 
JsonObject obj = new JsonObject(); //Json Object 

obj.add("message", gson.toJsonTree(msgArray)); 
obj.add("asec", gson.toJsonTree(asecArray)); 

String jsonString = gson.toJson(obj); //Json String 

參考Gson documentation更多細節

+0

謝謝兄弟我會c它 – Jagan