輸入 [[{id=11,name=asd},{id=112,name=dsd}]] 雖非標準 JSON(鍵未加雙引號),但結構明確:陣列套陣列套物件。
String raw = "[[{id=11,name=asd},{id=112,name=dsd}]]";
// 簡易修正:給鍵加雙引號
String json = raw.replaceAll("(\\w+)\\s*:", "\"$1\":");
// 使用任意 JSON 庫(Gson, Jackson, org.json)
List>> data = new Gson().fromJson(json, new TypeToken<>(){}.getType());
// data.get(0).get(0).get("id") == 11
JSONArray outer = new JSONArray(json);
JSONArray inner = outer.getJSONArray(0);
JSONObject obj = inner.getJSONObject(0);
int id = obj.getInt("id"); // 11
若資料來源固定且可控,**優先要求後端輸出標準 JSON**(鍵加雙引號、字串值加雙引號),避免客戶端做脆弱的字串替換。