2017-04-14 10 views
1

配列を使用せずに2つのオブジェクトを結合したJSON出力を以下のようにしたいと思います。どうすれば次の出力を得ることができますか?2つのJSONオブジェクトを配列なしで結合する

私は配列の方法を試して、 "["と "]"を取り除くと無効なJSONになります。

[ 
    { 
    "AppData": { 
     "status": "success", 
     "message": [ 
     "" 
     ] 
    } 
    }, 
    { 
    "Data": { 
     "token": "token1" 
    } 
    } 
] 

以下のように

public Response getSAppData(int id, String email, String password){ 
    Map<String, AppData> AppDataHM = new HashMap<String, AppData>(); 
    Map<String, Data> DataHM1 = new HashMap<String, Data>(); 

    Data data = DataHM.get(new AppDataRequest (id, email, password)); 
    List<String> message = new ArrayList<>(); 

    message.add(""); 
    AppDataHM.put("AppData", new AppData("success", message)); 
    DataHM1.put("Data", data); 
    String AppDataJO = new Gson().toJson(AppDataHM); 
    String DataJO = new Gson().toJson(DataHM1); 
    String ADJODJOA = "["+AppDataJO+","+DataJO+"]"; 
    return Response.status(200).entity(ADJODJOA).build(); 
} 

そして、私のコードの出力を次のように

私のコードは、任意の返信と答えを事前に感謝します。

答えて

1

すべて。最初に2つのHashMapを1つに結合し、それをオブジェクトに変換するだけで解決策を見つけることができます。 以下は私のコードです。

Map<String, AppData> AppDataHM = new HashMap<String, AppData>(); 
Map<String, Data> DataHM1 = new HashMap<String, Data>(); 

Map ADHMDHM = new HashMap<>(); 

Data data = DataHM.get(new AppDataRequest (id, email, password)); 
List<String> message = new ArrayList<>(); 

message.add(""); 
AppDataHM.put("AppData", new AppData("success", message)); 
DataHM1.put("Data", data); 
ADHMDHM.putAll(AppDataHM); 
ADHMDHM.putAll(DataHM1); 
String ADHMDHM1 = new Gson().toJson(ADHMDHM); 
関連する問題