2015-06-29 64 views
-1

我正在處理一個返回JSON對象的API。我正在用java調查GSON library,看起來它可以很好地爲我服務,因爲我需要基於類的JSON見下)。這些類的實例生成JSON輸出,應該看起來像這樣:使用JAVA庫GSON和多個類創建複雜的JSON對象

{ 
    "Command": "login", 
    "uid": "123123123", 
    "params": { 
    "username": "dev_2454", 
    "password": "4546845446" 
    } 
} 

而java類如下。

public class LoginInfo { 
    private String Command; 
    private String uid; 
    private Params params; 
} 

public class Params { 
    private String username; 
    private String password; 
} 

我不知道該如何開始。歡迎任何幫助。謝謝。

+1

您是否已完全閱讀此[userguide](https://sites.google.com/site/gson/gson-user-guide) – Madhan

+0

您能否提供更多詳細信息? – barunsthakur

+0

我添加了詳細信息。我希望它有一點幫助。 – dev1254202

回答

5

首先,試着再解釋一下這個問題。 但是使用GSON,請使用多種文件方式來創建JSON。

創建Params.java

​​

創建LoginInfo.java

public class LoginInfo { 
    private String Command; 
    private String uid; 
    private Params params; 

    public LoginInfo(Params userparams, String command, String uid) { 
     this.params = userparams; 
     Command = command; 
     this.uid = uid; 
    } 
} 

在你的主程序導入這兩個庫。

import com.google.gson.Gson; 
import com.google.gson.GsonBuilder; 

而使用如下代碼來創建JSON:

Params params=new Params("dev_2454","4546845446"); 
LoginInfo loginInfo=new LoginInfo(params,"login","123123123"); 
Gson gson= new GsonBuilder().setPrettyPrinting().create(); 
String JSON= gson.toJson(loginInfo,loginInfo.getClass()); 
System.out.println(JSON); 

輸出看起來就像這樣:

{ 
    "Command": "login", 
    "uid": "123123123", 
    "params": { 
    "username": "dev_2454", 
    "password": "4546845446" 
    } 
} 

的主要原因使用多個類的方法是確保您可以在將來輕鬆修改您的代碼,並幫助您開發健壯的GSON解析器。祝你好運。

+0

謝謝!它像一個魅力。 – dev1254202