代碼 :
Map<String, Integer> map = new LinkedHashMap<>();
for (int j = 0; j < jsonArray.length(); j ) {
JSONObject list = jsonArray.getJSONObject(j);
String key = list.getString("symbol") list.getString("groupname");
if (!map.containsKey(key)) {
map.put(key, list.getInt("openqty"));
} else {
int val = map.get(key) list.getInt("openqty");
map.put(key, val);
}
System.out.println("map " map);
}
//converted map into jsonstring
String jsonString = new JSONObject(map).toString();
System.out.println("jsonstring " jsonString);
輸出 :
{"SILVERRohit":0,"DINRCosmic":20,"NATURALGASCosmic":0,"NGCosmic":0,"SICosmic":-5,"SILVERCosmic":35,"DINRRishi":0,"SIRishi":0,"SILVERRishi":0,"CLAmitTA":-6,
"CRUDEOILAmitTA":60,"DINRAmitTA":24,"GCAmitTA":0,"GOLDAmitTA":0,"SIAmitTA":0,"SILVERAmitTA":0,"DINRPraveen":0,"GCPraveen":0,"GOLDPraveen":0,"DINRHarsh":46,
"GCHarsh":-9,"GOLDHarsh":28,"SIHarsh":9,"SILVERHarsh":-45,"DINRGovind":-160,"SIGovind":11}
^^ 這是我通過使用 linkedhashmap 獲得的 jsonobject。所以,現在我的問題是我想將它轉換為 jsonArray 格式以設定在模型(recyclerview)中,我也嘗試通過迭代但在每一行中獲取相同的值。
不僅如此,我還想將所有 jsonobject 鍵更改為“打開”,以便我可以在 recyclerview 中為每一行使用它。
預期輸出:
[ {"open":0},{"open":20} , {"open":0} , {"open":0} ,{"open":-5 } ,
{"open":35 } , {"open":0} ,{"open":0 },{"open":0 } ,{"open":-6 },
{"open":60},{"open":24},{"open":0},{"open":0},{"open":0},
{"open":0},{"open":0},{"open":0},{"open":0},{"open":46},
{"open":-9},{"open":28},{"open":9},{"open":-45},
{"open":-160},{"open":11} ]
uj5u.com熱心網友回復:
當你得到哈希圖時,如何迭代地圖。像這樣
Map<String,String> data = MapUtil.newHashMap();
JSONArray jsonArray = new JSONArray();
for (Map.Entry<String, String> entry : data.entrySet()) {
Map<String,String> json = MapUtil.newHashMap();
json.put("open", entry.getValue());
jsonArray.add(json);
}
return jsonArray;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/497248.html
標籤:爪哇 数组 json 安卓工作室 android-recyclerview