精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

解析JSON的這六種方法,真香!

開發 前端
架構在 Java 開發中,解析 JSON 是一個非常常見的需求。不管是和前端交互、調用第三方接口,還是處理配置文件,幾乎都繞不開 JSON。這篇文章總結了6種主流的 JSON 解析方法,希望對你會有所幫助。

前言

在 Java 開發中,解析 JSON 是一個非常常見的需求。

不管是和前端交互、調用第三方接口,還是處理配置文件,幾乎都繞不開 JSON。

這篇文章總結了6種主流的 JSON 解析方法,希望對你會有所幫助。

1. 使用 Jackson:業界標配

功能特點

  • 強大的序列化和反序列化:支持將 JSON 字符串轉為 Java 對象,也支持將 Java 對象轉換為 JSON。
  • 支持復雜結構:處理嵌套對象、數組、泛型等場景非常輕松。
  • 支持注解:如 @JsonIgnore、@JsonProperty 等,能精細控制序列化與反序列化的行為。
  • 性能高:Jackson 的性能非常出色,是很多企業級項目的首選。

代碼示例

  • JSON 轉對象(反序列化)
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonExample {
    public static void main(String[] args) throws Exception {
        String json = "{\"id\":1,\"name\":\"張三\"}";

        ObjectMapper objectMapper = new ObjectMapper();
        User user = objectMapper.readValue(json, User.class);
        System.out.println(user.getName()); // 輸出:張三
    }
}

class User {
    private int id;
    private String name;

    // Getters 和 Setters 省略
}
  • 對象轉 JSON(序列化)
User user = new User();
user.setId(1);
user.setName("李四");

ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(user);
System.out.println(json); // 輸出:{"id":1,"name":"李四"}

高級功能

  • 日期格式化:@JsonFormat(pattern = "yyyy-MM-dd")
  • 忽略字段:@JsonIgnore
  • 重命名字段:@JsonProperty("custom_name")

優缺點

優點

缺點

功能全面,支持復雜場景

配置較多,學習成本稍高

性能高,社區活躍,企業級項目首選

過于強大,部分功能用不上

豐富的注解支持,便于控制序列化行為

庫體積較大,對于小型項目略顯笨重

2. 使用 Gson:輕量好用

功能特點

  • 輕量級:Gson 的設計非常簡潔,代碼量少,適合中小型項目。
  • 支持泛型:可以輕松解析帶泛型的 JSON。
  • 注解控制:支持通過注解控制序列化行為,如 @Expose。
  • 易擴展:通過自定義序列化器和反序列化器,可以處理復雜的場景。

代碼示例

  • JSON 轉對象
import com.google.gson.Gson;

public class GsonExample {
    public static void main(String[] args) {
        String json = "{\"id\":1,\"name\":\"王五\"}";

        Gson gson = new Gson();
        User user = gson.fromJson(json, User.class);
        System.out.println(user.getName()); // 輸出:王五
    }
}
  • 對象轉 JSON
User user = new User();
user.setId(2);
user.setName("趙六");

Gson gson = new Gson();
String json = gson.toJson(user);
System.out.println(json); // 輸出:{"id":2,"name":"趙六"}

高級功能

  • 忽略字段:@Expose
@Expose
private String name;
  • 自定義序列化器/反序列化器:
Gson gson = new GsonBuilder()
        .registerTypeAdapter(CustomClass.class, new CustomSerializer())
        .create();

優缺點

優點

缺點

輕量級,簡單易用,適合中小型項目

性能稍遜于 Jackson

學習曲線平滑,新手容易上手

功能不如 Jackson 豐富

提供良好的擴展能力

復雜對象處理起來較為麻煩

3. 使用 FastJSON:高性能

功能特點

  • 性能優異:FastJSON 的解析速度非常快,適合大數據量場景。
  • 支持動態字段:可以輕松處理動態 JSON 數據。
  • 強大的類型支持:支持嵌套對象、泛型、數組等復雜結構。
  • 注解控制:類似 Jackson 和 Gson,支持注解控制字段的序列化和反序列化。

代碼示例

  • JSON 轉對象
import com.alibaba.fastjson.JSON;

public class FastJsonExample {
    public static void main(String[] args) {
        String json = "{\"id\":1,\"name\":\"小明\"}";

        User user = JSON.parseObject(json, User.class);
        System.out.println(user.getName()); // 輸出:小明
    }
}
  • 對象轉 JSON
User user = new User();
user.setId(3);
user.setName("小紅");

String json = JSON.toJSONString(user);
System.out.println(json); // 輸出:{"id":3,"name":"小紅"}

高級功能

  • 自動駝峰轉下劃線:
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
  • 動態字段解析:
Map<String, Object> map = JSON.parseObject(json, Map.class);

優缺點

優點

缺點

性能極高,解析速度快

曾有歷史安全漏洞的爭議

支持復雜的動態字段解析

社區活躍度稍遜于 Jackson 和 Gson

功能全面,適合大規模數據處理場景

配置選項和 API 比較多,稍顯復雜

4. 使用 JsonPath:快速提取嵌套字段

功能特點

  • 高效字段提取:通過路徑表達式(類似 XPath)快速提取嵌套字段。
  • 靈活性強:支持動態字段和條件過濾。
  • 輕量級:專注于字段提取,功能簡單明確。

代碼示例

import com.jayway.jsonpath.JsonPath;

public class JsonPathExample {
    public static void main(String[] args) {
        String json = """
            {
                "store": {
                    "book": [
                        {"title": "書1", "price": 10},
                        {"title": "書2", "price": 20}
                    ]
                }
            }
        """;

        // 提取第一個書籍的標題
        String title = JsonPath.read(json, "$.store.book[0].title");
        System.out.println(title); // 輸出:書1

        // 提取所有書籍價格
        List<Integer> prices = JsonPath.read(json, "$.store.book[*].price");
        System.out.println(prices); // 輸出:[10, 20]
    }
}

優缺點

優點

缺點

字段提取簡潔高效

不支持序列化和反序列化

動態字段處理能力強

依賴 JsonPath 語法

適合快速提取嵌套字段

不適合全量 JSON 轉換

5. 使用 org.json:輕量工具類

功能特點

  • 輕量級:核心是一個工具類,適合簡單場景。
  • 構造和解析簡單:適合快速創建 JSON 或提取字段。
  • 靈活性一般:不支持復雜對象映射。

代碼示例

import org.json.JSONObject;

public class OrgJsonExample {
    public static void main(String[] args) {
        String json = "{\"id\":1,\"name\":\"張三\"}";

        // 提取字段
        JSONObject jsonObject = new JSONObject(json);
        System.out.println(jsonObject.getString("name")); // 輸出:張三

        // 構造 JSON
        JSONObject newJson = new JSONObject();
        newJson.put("id", 2);
        newJson.put("name", "李四");
        System.out.println(newJson.toString()); // 輸出:{"id":2,"name":"李四"}
    }
}

優缺點

優點

缺點

輕量級,適合簡單場景

不支持復雜嵌套對象

使用簡單,學習成本低

功能簡單,擴展性差

6. 手動解析 JSON:靈活度最高

功能特點

  • 完全自由:不依賴第三方庫,自己解析 JSON。
  • 動態處理:適合不規則字段結構的 JSON。
  • 代碼復雜度高:適合特殊場景。

代碼示例

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.Map;

public class ManualParsing {
    public static void main(String[] args) throws Exception {
        String json = "{\"id\":1,\"name\":\"動態字段\"}";

        ObjectMapper objectMapper = new ObjectMapper();
        Map<String, Object> map = objectMapper.readValue(json, new TypeReference<Map<String, Object>>() {});
        System.out.println(map.get("name")); // 輸出:動態字段
    }
}

優缺點

優點

缺點

靈活性高,適合動態字段

代碼復雜度高,不易維護

不依賴第三方庫

性能和效率低于專業 JSON 庫

總結

最后給大家對比一下文章中提到的6種方法各自的優缺點:

方法

適用場景

優點

缺點

Jackson

企業級項目,復雜序列化和反序列化場景

功能強大,性能優異,支持復雜結構

配置復雜,學習曲線高

Gson

中小型項目,簡單的 JSON 轉換場景

輕量級,簡單易用

功能有限,性能略遜

FastJSON

高性能需求,大數據量的動態解析

性能極高,功能豐富

曾有安全漏洞爭議,社區支持稍遜 Jackson

JsonPath

嵌套結構復雜、動態字段提取場景

字段提取語法簡單,靈活性強

不支持序列化和反序列化

org.json

快速解析或構造 JSON 場景

輕量級,適合簡單場景

功能單一,擴展性差

手動解析

動態 JSON 或字段不固定的場景

自由度高,靈活性強

代碼復雜,效率低于專業工具

工具千千萬,場景最重要!

選對了工具,才能省時省力,少踩坑多摸魚。

責任編輯:武曉燕 來源: 蘇三說技術
相關推薦

2011-02-24 10:56:34

人才

2010-10-08 11:13:22

MySQL修改密碼

2025-05-19 00:02:00

數據脫敏加密算法數據庫

2023-09-06 08:00:00

ChatGPT數據分析

2021-12-06 06:58:50

List重復數據

2022-06-10 10:25:07

CIOIT領導者職業生涯

2025-07-14 03:00:00

2025-01-03 08:48:20

列表推導式Python編程

2022-06-09 08:46:58

ITCIO職業

2015-07-09 10:13:05

IT基礎設施支出數據中心

2023-04-26 08:41:16

Git撤消更改

2023-04-03 20:29:00

Linux環境變量

2023-05-15 18:32:20

2022-02-21 22:47:36

首席信息官IT技術

2022-05-30 16:42:20

數據中心

2024-11-05 08:28:50

2023-12-08 08:53:37

數據中心人工智能自動化

2022-11-29 10:33:15

Kubectl命令pod

2022-11-08 11:00:33

2023-11-07 11:11:42

Go性能
點贊
收藏

51CTO技術棧公眾號

欧美牲交a欧美牲交aⅴ免费真| 91精品国产综合久久久久久蜜臀 | 亚洲1234区| 国产欧美日本一区视频| 91中文在线观看| 可以在线观看av的网站| 久久一区91| 亚洲黄页视频免费观看| 久久久久久蜜桃一区二区| 黄色在线观看视频网站| 久久蜜桃av一区精品变态类天堂| 成人女保姆的销魂服务| 亚洲日本视频在线观看| 中文字幕一区二区精品区| 日韩精品免费一线在线观看| 日韩av一卡二卡三卡| 欧美裸体视频| 一区二区三区在线免费视频 | 9.1在线观看免费| julia一区二区三区中文字幕| 亚洲高清不卡在线观看| 自拍另类欧美| 国产在线一二| 99视频一区二区| 亚洲永久在线观看| 中文字幕日韩三级| 国产亚洲亚洲| 久久久久免费视频| 亚洲一级理论片| 自拍欧美一区| 日韩成人在线视频网站| 亚洲美女精品视频| 另类视频一区二区三区| 欧美日韩小视频| 久久精品网站视频| 欧美激情喷水| 狠狠色狠色综合曰曰| 日韩视频免费播放| 污污在线观看| 一区二区三区欧美亚洲| 日本特级黄色大片| 免费黄色电影在线观看| 日本一区二区综合亚洲| 蜜桃麻豆www久久国产精品| 刘亦菲毛片一区二区三区| 国产精品99久久久久久宅男| 国产综合在线观看视频| 国产又黄又爽视频| 久久99国产精品久久99果冻传媒| 国产精品精品视频| 人妻中文字幕一区二区三区| 久久一区中文字幕| 欧洲成人免费aa| 日本韩国欧美中文字幕| 国产精品尤物| 国产成人亚洲综合91精品| 久久久精品视频网站| 久久一区精品| 国产精品偷伦免费视频观看的| 亚洲影院在线播放| 日韩精品亚洲一区| 国产欧美精品va在线观看| 一级特黄aaa大片| 久久精品99国产国产精| 亚洲va国产va天堂va久久| 国产熟女精品视频| 成人av在线资源| 久久日韩精品| av片在线免费观看| 亚洲六月丁香色婷婷综合久久 | 日本系列欧美系列| 国产精品美女www| 99久久国产免费| 大美女一区二区三区| 看高清中日韩色视频| 国产精品麻豆一区二区三区| 国产精品乱码人人做人人爱| 国产日韩欧美大片| 538视频在线| 在线中文字幕不卡| www.久久久久久久久久久| 日韩精品三级| 日韩精品久久久久久福利| 中文字幕精品亚洲| 欧美激情综合色综合啪啪| 中文字幕av资源一区| 午夜一区二区三区| 调教一区二区| 色av成人天堂桃色av| 中文字幕资源在线观看| 久久成人福利| 中文字幕在线看视频国产欧美在线看完整 | 欧美一级黄色影院| 国产精品日韩精品在线播放| 亚洲精品国偷自产在线99热| 999久久久国产| 国自产拍偷拍福利精品免费一 | 99a精品视频在线观看| 精品中文视频在线| 2021亚洲天堂| 日韩电影在线观看网站| 99久久伊人精品影院| 久青青在线观看视频国产| 亚洲欧美日韩国产另类专区| 男人添女人下面高潮视频| 五月天色综合| 亚洲精品自产拍| 青青草偷拍视频| 日韩精品电影在线| 国产一区二区三区色淫影院| 欧美边添边摸边做边爱免费| 精品人伦一区二区三区蜜桃网站| 午夜剧场高清版免费观看 | 一区二区三区av| 热色播在线视频| 日韩三区在线观看| 国产wwwwxxxx| 丝袜亚洲另类欧美| 久久国产精品-国产精品| caoporn97在线视频| 欧美性猛片xxxx免费看久爱| 亚洲一区二区三区四区五区六区| 亚洲成av人电影| 国产精品久久久久久影视| 亚洲三区在线观看无套内射| 夜夜精品视频一区二区| 超碰91在线播放| 国产精品99久久精品| 国产精品久久久久久久久久| 欧美午夜黄色| 黑人巨大精品欧美一区免费视频 | 国产视频精选在线| 日韩欧美国产免费播放| 午夜男人的天堂| 福利欧美精品在线| www国产精品视频| 最新中文字幕免费| 亚洲国产精品成人综合色在线婷婷 | 日韩免费观看高清完整版在线观看| 日本不卡一区视频| 日本网站在线观看一区二区三区| 美乳视频一区二区| 中文字幕在线直播| 亚洲人成免费电影| www毛片com| 久久精品视频在线看| 久久久免费视频网站| 自拍欧美一区| 国产精品女主播| 香港伦理在线| 欧美一区二区三区人| 国产乱国产乱老熟300| 国产精品影音先锋| 黄色一级片黄色| 好吊妞国产欧美日韩免费观看网站 | 中文字幕av播放| 国产二区国产一区在线观看| 欧美国产视频一区| 国产精品极品在线观看| 午夜精品久久久久久99热| 午夜av免费在线观看| 欧美性69xxxx肥| 黄色片网站免费| 久久国产夜色精品鲁鲁99| 中文字幕中文字幕一区三区| 亚洲啊v在线免费视频| 国内揄拍国内精品少妇国语| 水莓100国产免费av在线播放| 欧美视频中文字幕在线| 蜜桃av乱码一区二区三区| 久久精品国产久精国产| 国产免费xxx| 欧美大片网址| 国产精品久久久久一区二区| 麻豆网站在线| 亚洲福利视频在线| 这里只有久久精品视频| 日韩美女视频一区二区| 精品人妻一区二区三区日产| 久久久亚洲一区| 国产精品夜夜夜爽张柏芝| 麻豆一区二区| 国产精品专区h在线观看| 久久大胆人体| 国产亚洲精品成人av久久ww| 精品人妻av一区二区三区| 精品毛片网大全| 欧美成人久久久免费播放| 国产999精品久久久久久绿帽| 干日本少妇首页| 99久久亚洲精品| 久草热久草热线频97精品| 久久av影院| 91精品国产免费久久久久久| 91在线看片| 日韩av在线电影网| 国产精品自产拍| 色综合天天性综合| 国产亚洲精品久久777777| 国产欧美日韩不卡免费| 色婷婷精品久久二区二区密| 蜜臀av性久久久久av蜜臀妖精| 日韩黄色片在线| 日韩电影免费网址| 精品视频一区在线| 精品视频一区二区三区| 热久久这里只有精品| 欧美男男video| 久久精品视频一| 国产福利在线看| 国产视频丨精品|在线观看| 国产免费叼嘿网站免费| 欧美视频三区在线播放| 日韩精品久久久久久久酒店| 亚洲精品中文在线| 亚洲色图27p| 国产亚洲一区二区三区在线观看| 国产a级片视频| 国产美女精品在线| 最新天堂在线视频| 日本成人中文字幕在线视频| 一二三四视频社区在线| 欧美a级在线| 中国成人在线视频| 四虎8848精品成人免费网站| 日本不卡一区二区三区在线观看| caoporn成人免费视频在线| 亚洲一区美女视频在线观看免费| 不卡亚洲精品| 国产精品高潮视频| 日韩三区免费| 欧美一区二区色| 色偷偷偷在线视频播放| 91精品国产高清自在线| 成年人黄色大片在线| 国模gogo一区二区大胆私拍| 欧美人与性动交α欧美精品济南到 | 性猛交娇小69hd| 国产清纯美女被跳蛋高潮一区二区久久w | 久久综合久久网| 欧美激情视频一区二区三区在线播放| 一本色道久久综合亚洲精品婷婷| 欧美亚洲在线日韩| 亚洲欧美国产不卡| 99久久精品网| 大桥未久一区二区| 欧美成人高清| 日本中文字幕在线视频观看| 精久久久久久| 国产婷婷一区二区三区| 一本一本久久| 国产又大又硬又粗| 青青草国产成人av片免费| 亚洲欧美在线精品| 狠狠狠色丁香婷婷综合激情| 在线视频一二区| 成人午夜电影网站| 国产又粗又猛又色| 国产日韩影视精品| 91麻豆精品久久毛片一级| 亚洲天堂久久久久久久| 久久国产精品波多野结衣| 午夜欧美2019年伦理| 在线观看免费av片| 欧美性一区二区| 国产精品视频久久久久久| 欧美成人猛片aaaaaaa| 日本免费不卡视频| 亚洲最新av在线网站| 免费大片黄在线| 韩国精品久久久999| 欧美黄色网页| 91丨九色丨国产在线| 欧洲vs亚洲vs国产| 亚洲精品乱码久久久久久蜜桃91| 羞羞答答成人影院www| 亚洲人成无码网站久久99热国产| 六月丁香综合| 午夜免费福利网站| 91色乱码一区二区三区| 三区四区在线观看| 一区二区三区在线不卡| 国产农村妇女aaaaa视频| 欧美日韩久久不卡| 女人18毛片水真多18精品| 亚洲天天在线日亚洲洲精| 国产一区久久精品| 欧洲中文字幕国产精品| 国产精品美女久久久久| 欧美精品成人一区二区在线观看| 45www国产精品网站| 国产又爽又黄免费软件| 日韩精品中文字幕一区二区三区 | 国产精品91一区二区| 99re久久精品国产| 中文字幕精品综合| 久热精品在线观看| 欧美三级蜜桃2在线观看| 国产 欧美 自拍| 在线亚洲午夜片av大片| av色综合久久天堂av色综合在| 青青久久av北条麻妃海外网| 国产精品毛片无码| 日韩精品极品视频在线观看免费| 欧美另类综合| 在线观看免费的av| 国产亚洲一区二区在线观看| 国产一级片久久| 欧美日韩国产色站一区二区三区| 污污视频在线免费看| 久久夜色撩人精品| 99久久er| 欧美日本亚洲| 日韩一级网站| 少妇献身老头系列| 国产精品久久久久一区二区三区 | 国产高清不卡| 国产精品日韩高清| 在线中文字幕亚洲| gai在线观看免费高清| 国产女主播在线一区二区| 亚洲黄色小说图片| 亚洲国产精彩中文乱码av在线播放| 日本中文字幕在线播放| 国产精品久久久久av免费| 欧美天堂社区| 亚洲熟妇无码一区二区三区| 高清不卡在线观看av| 久久精品一区二区三区四区五区 | 欧美特黄一级视频| 色综合视频一区中文字幕| 成人国产精品久久| 正在播放一区二区三区| 九九**精品视频免费播放| 国产欧美小视频| 欧美在线影院一区二区| 国产一级二级三级在线观看| 日韩av免费在线播放| 偷拍视屏一区| 国产精品97在线| 久久网站热最新地址| 伊人中文字幕在线观看| 亚洲视频999| 日韩视频网站在线观看| 日韩欧美精品一区二区三区经典| 久久aⅴ乱码一区二区三区| 黄瓜视频污在线观看| 欧美性色xo影院| 激情小说 在线视频| 国产精品91在线| 久久香蕉国产| 日韩av影视大全| 亚洲在线中文字幕| 香蕉视频国产在线| 欧美在线观看视频| 精品国产一区二区三区| 久久久久久久久久久久91| 国产精品美女久久久久久久久 | 精品三区视频| 一区二区三区欧美在线| 国产成人在线免费观看| 日韩欧美一区二区一幕| 亚洲欧美制服综合另类| 免费视频成人| 激情六月天婷婷| 北岛玲一区二区三区四区| 久久久精品福利| 日韩小视频在线| 成人性生交大片免费看96| 成人综合视频在线| 国产精品久久久久久久久免费樱桃| 国产精品视频久久久久久| 韩剧1988在线观看免费完整版| 国产一区二区三区91| 激情文学亚洲色图| 午夜久久久久久久久久一区二区| 国产综合在线观看| 91精品免费视频| 一区二区三区国产盗摄| 欧美人与禽zoz0善交| 日韩欧美国产精品| 亚洲成a人片| 91网站在线观看免费| 久久亚洲精精品中文字幕早川悠里| 亚洲一区中文字幕永久在线| 欧美极品在线播放| 成人羞羞网站| 午夜av免费看| 91麻豆精品国产91久久久久久| 蜜桃视频在线观看播放| 伊人久久大香线蕉成人综合网| 成人激情av网| 亚洲熟妇无码久久精品| 午夜免费久久久久| 天天天综合网| 精品人妻无码一区二区三区| 日韩亚洲欧美在线| 国内自拍亚洲| 国产成人亚洲精品无码h在线| 亚洲精品欧美在线|