我創建了一個如下所示的JSON Object
,但我不知道如何使用JSONStringer填充參數字段?而參數字段是JSONArray
或Array String
?如何創建一個JSON
{"name":"Katy", "parameters":["JAK","1999"], "Age":25}
感謝您的幫助。
我創建了一個如下所示的JSON Object
,但我不知道如何使用JSONStringer填充參數字段?而參數字段是JSONArray
或Array String
?如何創建一個JSON
{"name":"Katy", "parameters":["JAK","1999"], "Age":25}
感謝您的幫助。
嘗試像下面
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();
}
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();
}
試試這個:
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();
}
試試這個辦法,希望這將幫助你解決你的問題。
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();
}
JSON數據來自哪裏?它是否在你的程序中被硬編碼?你是否從文件中讀取它?您是否正在提出HTTP請求並將其作爲響應? – 2014-09-01 04:12:16
使它更清晰!你到底想做什麼? – mmlooloo 2014-09-01 04:17:28
Code-Apprentice,我想創建一個用於發送到Web服務的json。硬編碼在哪裏?我可以使用其他方式創建此json以發送到Web服務嗎?請幫幫我。謝謝 – 2014-09-01 04:47:30