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

Java 中如何從 JSON 字串提取指定欄位的值

     編輯:程式設計綜合問答

在 Java 開發中,經常需要從 JSON 格式的字串中解析並提取特定欄位的資料。例如,當你拿到一個包含 content 欄位的 JSON 字串,想要獲取該欄位對應的值時,不建議使用字串切割或正則表達式硬解析,因為 JSON 結構可能包含巢狀物件、陣列或特殊字元,手動解析極易出錯。

推薦做法:使用 JSON 函式庫解析

最穩健的方式是引入成熟的 JSON 解析函式庫,如 Jackson、Gson 或 org.json。這些函式庫能自動處理轉義字元、型別轉換與結構巡覽,程式碼簡潔且可維護性高。

範例:使用 Gson 提取欄位

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class JsonExtractDemo {
    public static void main(String[] args) {
        String jsonStr = "{\"content\":\"這裡是目標資料\",\"id\":123}";
        JsonObject jsonObject = JsonParser.parseString(jsonStr).getAsJsonObject();
        String content = jsonObject.get("content").getAsString();
        System.out.println("提取的 content:" + content);
    }
}

範例:使用 org.json (輕量級,無額外依賴)

import org.json.JSONObject;

public class JsonExtractDemo {
    public static void main(String[] args) {
        String jsonStr = "{\"content\":\"這裡是目標資料\",\"id\":123}";
        JSONObject jsonObject = new JSONObject(jsonStr);
        String content = jsonObject.getString("content");
        System.out.println("提取的 content:" + content);
    }
}

常見陷阱

  • 若 JSON 字串最外層是陣列 [...],需先用 JsonArray 或 JSONArray 解析。
  • 欄位名稱區分大小寫,確保與 JSON 完全一致。
  • 若欄位可能不存在,建議先用 has("fieldName") 或 .isJsonNull() 判斷,避免拋出異常。

掌握 JSON 解析是 Java 後端開發的基本功,善用函式庫能大幅減少 Bug 並提升開發效率。

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