首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 解析類 JSON 字串 {id=12,name=xxx} 的正確方式

     編輯:程式設計綜合問答

資料格式辨識

輸入 [[{id=11,name=asd},{id=112,name=dsd}]] 雖非標準 JSON(鍵未加雙引號),但結構明確:陣列套陣列套物件。

推薦做法:修正為標準 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

或直接用 JSONObject(org.json)

JSONArray outer = new JSONArray(json);
JSONArray inner = outer.getJSONArray(0);
JSONObject obj = inner.getJSONObject(0);
int id = obj.getInt("id"); // 11

注意

若資料來源固定且可控,**優先要求後端輸出標準 JSON**(鍵加雙引號、字串值加雙引號),避免客戶端做脆弱的字串替換。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved