2014-09-01 77 views
0

我創建了一個如下所示的JSON Object,但我不知道如何使用JSONStringer填充參數字段?而參數字段是JSONArrayArray String如何創建一個JSON

{"name":"Katy", "parameters":["JAK","1999"], "Age":25} 

感謝您的幫助。

+0

JSON數據來自哪裏?它是否在你的程序中被硬編碼?你是否從文件中讀取它?您是否正在提出HTTP請求並將其作爲響應? – 2014-09-01 04:12:16

+0

使它更清晰!你到底想做什麼? – mmlooloo 2014-09-01 04:17:28

+0

Code-Apprentice,我想創建一個用於發送到Web服務的json。硬編碼在哪裏?我可以使用其他方式創建此json以發送到Web服務嗎?請幫幫我。謝謝 – 2014-09-01 04:47:30

回答

0

嘗試像下面

String mParameters[] = { "JAK", "1999" }; 

     JSONObject mJson = new JSONObject(); 
     try { 
      mJson.put("name", "Katy"); 
      JSONArray mJSONArray = new JSONArray(Arrays.asList(mParameters)); 
      mJson.putOpt("parameters", mJSONArray); 
      mJson.put("Age", 25); 
      System.out.println("JSon::"+ mJson.toString()); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
0

The documentation for JSON會告訴你,一個簡單的方法來區分wheter您的JSON字符串數組是它是否與[啓動,因此,在你的榜樣「參數」是JSONArray。如果不知道如何獲取要放入對象的數據,下面是如何填充它的示例(假設您有一個要插入的JAKS的數組)。

    JSONObject yourObject = new JSONObject(); 
        String[] JAKS = {"1999", "2000", "2001"}; 
        JSONArray paramaters = new JSONArray(); 
        try { 
         yourObject.put("name", "Katy"); 
         for (String JAK : JAKS) { 
          JSONObject yourParamater = new JSONObject(); 
          yourParamater.put("JAK", JAK); 
          paramaters.put(yourParamater); 
         } 
         yourObject.put("parameters", paramaters); 
         yourObject.put("Age", 25); 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
0

試試這個:

import org.json.JSONObject; 
//other imports 
//... 

try { 
    //Create the JSON Object 
    JSONObject myObject = new JSONObject(); 
    String parameters[] = new String[]{"JAK","1999"}; 
    //use the method put to "fill" the values 
    myObject.put("name", "Katy"); 
    myObject.put("parameter",(Object)parameters); 
    myObject.put("age", 25); 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 
0

試試這個辦法,希望這將幫助你解決你的問題。

try{ 
    JSONObject jsonObject = new JSONObject(); 
    jsonObject.put("name","Katy"); 
    jsonObject.put("parameters",new String[]{"JAK","1999"}); 
    jsonObject.put("Age","25"); 
}catch (Throwable e){ 
    e.printStackTrace(); 
}