2016-12-08 5 views
0

以下のコードを使用してjsonオブジェクトをjsonオブジェクト内に配置します。jsonオブジェクト内にjson配列を埋め込む

import org.json.JSONObject; 

public class PollingPoJo { 

    int id; 
    String topic; 
    String description; 
    String pollItem1; 
    String pollItem2; 
    String pollItem3; 
    String pollItem4; 
    ArrayList<String> pollingItem ; 
    public PollingPoJo(int id, String topic, String description, String pollItem1, String pollItem2, String pollItem3, 
      String pollItem4) { 
     super(); 
     this.id = id; 
     this.topic = topic; 
     this.description = description; 
     this.pollItem1 = pollItem1; 
     this.pollItem2 = pollItem2; 
     this.pollItem3 = pollItem3; 
     this.pollItem4 = pollItem4; 
    } 
    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public String getTopic() { 
     return topic; 
    } 
    public void setTopic(String topic) { 
     this.topic = topic; 
    } 
    public String getDescription() { 
     return description; 
    } 
    public void setDescription(String description) { 
     this.description = description; 
    } 
    public String getPollItem1() { 
     return pollItem1; 
    } 
    public void setPollItem1(String pollItem1) { 
     this.pollItem1 = pollItem1; 
    } 
    public String getPollItem2() { 
     return pollItem2; 
    } 
    public void setPollItem2(String pollItem2) { 
     this.pollItem2 = pollItem2; 
    } 
    public String getPollItem3() { 
     return pollItem3; 
    } 
    public void setPollItem3(String pollItem3) { 
     this.pollItem3 = pollItem3; 
    } 
    public String getPollItem4() { 
     return pollItem4; 
    } 
    public void setPollItem4(String pollItem4) { 
     this.pollItem4 = pollItem4; 
    } 

    @Override 
    public String toString() { 
     pollingItem = new ArrayList<>(); 
     pollingItem.add(pollItem1); 
     pollingItem.add(pollItem2); 
     pollingItem.add(pollItem3); 
     pollingItem.add(pollItem4); 

     String jObj = new JSONObject().put("id",id) 
       .put("topic", topic) 
       .put("description", description) 
       .put("pollingItems", pollItem1).toString(); 

     return jObj; 
    } 

} 

後で、次のコードを使用して応答を生成します。

しかし、結果のjson応答には、jsonが含まれていません。私はtoString内に配列リストを埋め込んでいますが、それは表示されません。どのようにこれを整理することができますか?

予想サンプル応答がされた後、

{ "トピック": "フルーツ"、 "説明": "私の好きな果物"、 "ID":1、
"polling_items":[ "アイテム1"、 "項目2"、 "アイテム3"]}

それは次の応答を投げている、

[{ "トピック": "フルーツ"、 "説明": "私の好きな果物"、 "ID":1、 "pollingItems": "ITEM1"}]あなたのよう

pollingitemsにjson配列が含まれていないことがわかりました。どのようにこれを整理することができますか?

+0

'toString()'は次の行を含みます: '.put(" pollingItems "、pollItem1)' 'pollItem1'は文字列です。あなたは何が起こると思いましたか? – rorschach

答えて

1

PollingPoJoには、名前polling_itemsのコレクションが必要です。そして、PollingPoJoのコンストラクタで、このコレクションに3,4,5,6パラメータを追加します。

関連する問題