第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

按 ID 對(duì) JSON 數(shù)組進(jìn)行排序

按 ID 對(duì) JSON 數(shù)組進(jìn)行排序

慕妹3146593 2021-11-17 17:34:01
我編寫的代碼采用包含 JSON 數(shù)據(jù)的字符串。我正在按 ID 對(duì)我的 JSON 對(duì)象數(shù)組進(jìn)行排序。當(dāng)我使用我的方法時(shí),我得到這個(gè)異常:“org.json.JSONException: A JSONArray text must start with '[' at 1 [character 2 line 1]”。我在這里缺少什么以及如何解決它?private static void ResortJsonByUseCaseID( String jsonArrStr ){    JSONArray jsonArr = new JSONArray(jsonArrStr);    JSONArray sortedJsonArray = new JSONArray();    List<JSONObject> jsonValues = new ArrayList<JSONObject>();    for (int i = 0; i < jsonArr.length(); i++) {        jsonValues.add(jsonArr.getJSONObject(i));    }    java.util.Collections.sort( jsonValues, new java.util.Comparator<JSONObject>() {        private static final String KEY_NAME = "useCaseId";        @Override        public int compare(JSONObject a, JSONObject b) {            String valA = new String();            String valB = new String();            try {                valA = (String) a.get(KEY_NAME);                valB = (String) b.get(KEY_NAME);            }            catch (JSONException e) {                //do something                int tal = 9;            }            return valA.compareTo(valB);        }    });    for (int i = 0; i < jsonArr.length(); i++) {        sortedJsonArray.put(jsonValues.get(i));    }    jsonArrStr = sortedJsonArray.toString();}
查看完整描述

1 回答

?
炎炎設(shè)計(jì)

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊

您所描述的代碼僅適用于如下所示的 json:


[

  { "useCaseId" : "4", ... },

  { "useCaseId" : "1", ... },

  { "useCaseId" : "a", ... },  

  ...

]

如您所見,字符串以一個(gè)[字符開頭,就像所要求的異常一樣。


由于“大多數(shù)”jsons 以{我猜測(cè)您的 json 結(jié)構(gòu)是不同的,然后您將需要相應(yīng)地調(diào)整您的代碼。例如,如果您的 json 數(shù)組嵌入在“大多數(shù)”jsons 之類的對(duì)象中:


{

  "useCases" : [

                 { "useCaseId" : "4", ... },

                 { "useCaseId" : "1", ... },

                 { "useCaseId" : "a", ... },  

                 ...

               ]

}

那么你必須創(chuàng)建一個(gè)JSONObject obj = new JSONObject(jsonArrStr),然后JSONArray通過調(diào)用(JSONArray)obj.get("useCases").


查看完整回答
反對(duì) 回復(fù) 2021-11-17
  • 1 回答
  • 0 關(guān)注
  • 183 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)