2016-05-24 12 views
-1

で作成しました。しかし、私は希望の形式でリクエストボディを取得していません。JSON文字列は、私はフォーマットの下でHTTP要求でリクエストボディを送信する必要が間違ってフォーマット

このタイプのフォーマットのデータを返す汎用メソッドを作成して、アプリケーション全体で使用できるようにしたいと考えています。

何か助けていただければ幸いです。

JSONObject object=new JSONObject(); 
    try { 
     object.put("flag","xyz"); 
     JSONArray array=new JSONArray(); 
     array.put("xyz"); 
     array.put("abc"); 

     object.put("Ids",array); 

     //added a log to see the output 
     Log.e("output",object.toString()); 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

object.toString()あなたは文字列形式にしたい正確にJSONを含める必要があります。

+0

は)((自動的どちらArrayList.toStringをJSONを返しません)json配列を返します) – Selvin

答えて

0

はこのような何かを行います。ループを使用して、アイテムの数に応じてjsonArrayまたはJSONObjectの内容を設定することができます

0

JSONObjectの内部にJSONArrayがあり、別のJSONObjectの中にJSONObjectがあります。したがって、それらを別々に作成し、一緒に入れることができます。以下のように。あなたには、いくつかのJSONシリアライザ... LinkedHashMap.toStringを(使用する必要が

CODE

try { 
     JSONObject parent = new JSONObject(); 
     JSONObject jsonObject = new JSONObject(); 
     JSONArray jsonArray = new JSONArray(); 
     jsonArray.put("lv1"); 
     jsonArray.put("lv2"); 

     jsonObject.put("mk1", "mv1"); 
     jsonObject.put("mk2", jsonArray); 
     parent.put("root", jsonObject); 
     Log.d("output", parent.toString(2)); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

OUTPUT明らか

{ 
     "root": { 
     "mk1": "mv1", 
     "mk2": [ 
      "lv1", 
      "lv2" 
     ] 
     } 
    } 
関連する問題