本文目錄一覽:
JAVA中遍歷JSONObject不能按原順序遍歷
這個估計沒辦法,json本來就是無序的。我來試一下,沒遇到這種情況。
可以重寫原碼,不過不推薦,如下:
要使輸出是有序的,可以用LinkedHashMap來替換HashMap。
修改org.json.JSONObject的構造函數,
public JSONObject() {
this.map = new LinkedHashMap(); //new HashMap();
}
可能會對JSON 函數的執行效率有所影響。
如何從json數組中順序讀取數據
json來做吧,先去下載下jar包。
下面是測試的代碼:try{String str = “{‘list’:[‘1,2′,’3,4′,’5,6’]}”;JSONObject jsonObject = JSONObject.fromObject(str); //把轉為json對象。String array= jsonObject.getString(“list”); //獲取list的值。JSONArray jsonArray = JSONArray.fromObject(array); //把list的值轉為json數組對象。Object[] strs = jsonArray.toArray(); //json轉為數組。for(Object s:strs){System.out.println(s);}}catch(Exception e){e.printStackTrace();}
字符串:字符串主要用於編程,概念說明、函數解釋、用法詳述見正文,這裡補充一點:字符串在存儲上類似 字符數組,所以它每一位的單個元素都是可以提取的,如s=“abcdefghij”,則s[0]=“a”,s[9]=”j”,而字符串的 零位正是它的長度,如s[0]=10(※上述功能Ansistring沒有。),這可以給我們提供很多方便,如高精度運算時每一位都可以轉化為數字存入 數組。
JAVA中按原順序遍歷JSONObject
正常的玩法應該是這樣, 因為 ObjectMapper 有各種配置, 可以更好的實現轉換, 比如 解析數據順序, 忽略錯誤字段 等等 高端大氣上檔次的東西, 你的方法已經被時代淘汰了。
ObjectMapper objectMapper = new ObjectMapper();
Map map = objectMapper.readValue(resultStr,LinkedHashMap.class);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/250719.html