![](/img/trans.png)
[英]Is it possible to send JSONArray instead of JSONObject via POST?
[英]JSONObject data send to JSONArray
JSONObject data = response.getJSONObject("data");
Iterator x = data.keys();
JSONArray jsonArray = new JSONArray();
while (x.hasNext()){
String key = (String) x.next();
jsonArray.put(data.get(key));
}
Log.d("TZX", String.valueOf(jsonArray));
我有像這樣的變量數據上的JSONObject
{"type":"DISKON","result":"DUPE","data":{"1":{"Code":"DISC2","Description":"DISC SALES","Value":0},"2":{"Code":"DISC1.5%","Description":"DISC1.5%","Value":1.5},"3":{"Code":"DISC 2%","Description":"DISC 2%","Value":2}}}
如何在JSONObject上獲取對象“值”以發送到變量“ jsonArray”上的JSONArray
抱歉我的語法我是新手謝謝
嘗試這個,
JSONObject data = response.getJSONObject("data");
JSONArray jsonArray = new JSONArray();
Iterator<?> keys = data.keys();
while (keys.hasNext()) {
String key = (String) keys.next();
if (data.get(key) instanceof JSONObject) {
jsonArray.put(((JSONObject) data.get(key)).getString("Value"));
}
}
Log.e("TZX", String.valueOf(jsonArray));
您正在使用數組,因此JsonArray
直接使用JsonArray
解析數據,如下所示
JSONArray array = response.getJSONArray("data");
List<Integer> values = new ArrayList<>();
for(int i=0;i < array.length();i++){
values.add(array.getJSONObject(i).getInt("Value"));
}
您的可變data
不是JSONObject,而是JSONArray。
data = [{"Code":"DISC2","Description":"DISC SALES","Value":0},{"Code":"DISC1.5%","Description":"DISC1.5%","Value":1.5},{"Code":"DISC 2%","Description":"DISC 2%","Value":2}]
從數組獲取JSONObject
JSONArray list = new JSONArray();
JSONObject obj = new JSONObject(data)
JSONArray jsonArray = new JSONArray(obj);
for(int i=0;i<json.length();i++){
JSONObject e = jsonArray.getJSONObject(i);
String value = e.getString("Value"));
list.put(value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.