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

從 JSON 字串中提取特定欄位值:JSONObject + substring

     編輯:程式設計疑難解答

原始字串:

{"code":"0","data":"NC憑證已成功創建![憑證號]為“2016-12-記賬憑證-93”,[流水標識]為0001V110000000000O82159259da6dfvouchergl0。","message":"請求成功"}

目標:取得 2016-12-記賬憑證-93。

步驟

  1. 解析 JSON 取出 data 欄位。
  2. 用關鍵字 [憑證號]為“ 定位起始位置。
  3. 用結束引號 ” 定位結束位置。
  4. substring 切片。

完整代碼

String jsonStr = "...";
JSONObject obj = JSONObject.fromObject(jsonStr); // 需 json-lib 或 gson
String content = obj.getString("data");

String key = "[憑證號]為“";
int start = content.indexOf(key) + key.length();
int end = content.indexOf("”", start);
String voucherNo = content.substring(start, end);
System.out.println(voucherNo); // 2016-12-記賬憑證-93

注意

  • 確認 JSON 庫已引入(gson、fastjson、json-lib)。
  • 若格式固定,正則 \"\\【憑證號\\】為“([^”]+)” 更健壯。
  • 處理 indexOf 回傳 -1 的異常情況。

「先解析結構,再切片內容」是處理半結構化文字的標準套路。

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