精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

成人春色激情网| 亚洲人成网站999久久久综合| 一道本在线观看视频| 国产精品欧美久久久久天天影视| 欧美欧美全黄| 亚洲精品98久久久久久中文字幕| 精品久久久久久久无码| 亚洲七七久久综合桃花剧情介绍| 99久久伊人网影院| 国产精品看片资源| 久久久久久久久久久网| 禁断一区二区三区在线| 欧美一级二级在线观看| 国产午夜伦鲁鲁| 巨大荫蒂视频欧美另类大| jvid福利写真一区二区三区| 国产欧美亚洲精品| 少妇一级淫片免费放中国 | 日韩一级高清毛片| 成人免费xxxxx在线视频| 成人女同在线观看| 国产精品久久久久7777按摩| 蜜桃欧美视频| 亚洲乱码精品久久久久..| 日本不卡一二三区黄网| 5566成人精品视频免费| 国产一级在线观看视频| 91精品国产乱码久久久久久| 亚洲一区二区国产| jizz日本免费| 成人高潮视频| 欧美午夜精品理论片a级按摩| 国产人妻777人伦精品hd| av片在线观看免费| 综合欧美一区二区三区| 亚洲精品国产一区| 成人三级黄色免费网站| 91免费在线播放| 国产在线资源一区| 成人免费视频国产免费麻豆| 国产老肥熟一区二区三区| 国产精品免费电影| 成人黄色激情视频| 天堂一区二区在线| 日韩av免费一区| 成人午夜视频在线播放| 一区二区三区四区五区在线 | 一级一片免费播放| 日本精品在线| 国产精品国产三级国产aⅴ中文| 热re99久久精品国99热蜜月| 欧美黄色小说| 国产亚洲综合在线| 日韩免费电影一区二区| 国产三级视频在线看| 国产午夜精品久久久久久免费视| 欧美日韩在线一区二区三区| 男同在线观看| 国产色一区二区| 日韩色妇久久av| www.亚洲视频| 国产精品福利影院| 国产一区一区三区| 啦啦啦中文在线观看日本| 亚洲成人在线观看视频| 欧美s码亚洲码精品m码| 在线成人av观看| 在线精品视频一区二区三四| 亚洲这里只有精品| 国产精品亚洲欧美一级在线| 日韩精品在线看片z| 91传媒理伦片在线观看| 神马香蕉久久| 中文日韩电影网站| 中日韩一级黄色片| 欧美婷婷在线| 26uuu亚洲国产精品| 成人免费一级片| 精品一区在线看| ts人妖另类在线| 五月天婷婷在线播放| 久久免费美女视频| 一区二区三视频| av不卡高清| 在线观看欧美日本| 女王人厕视频2ⅴk| 亚洲春色h网| 久久精品91久久久久久再现| 久久精品亚洲无码| 日韩成人精品在线观看| 91视频99| 97视频精彩视频在线观看| 亚洲激情六月丁香| 欧美日韩在线免费播放| 国产精品一站二站| 亚洲欧洲在线免费| 亚洲综合网在线| 久久成人在线| 翡翠波斯猫1977年美国| 国产高清视频在线播放| 亚洲一区视频在线| 日韩大片一区二区| 久久99偷拍| 精品国产一区二区三区久久久 | 国产精品乱子乱xxxx| 国产高清在线看| 亚洲妇女屁股眼交7| 五月婷婷丁香色| 亚州精品视频| 欧美精品videosex性欧美| 综合久久中文字幕| jlzzjlzz亚洲日本少妇| 男女h黄动漫啪啪无遮挡软件| 中国色在线日|韩| 欧美第一区第二区| 艳妇乳肉亭妇荡乳av| 亚洲九九视频| 国产精品久久久久久一区二区| 少妇一级淫片免费看| 亚洲美女少妇撒尿| 亚洲这里只有精品| 精品一区免费| 欧美亚洲成人免费| 国产77777| 亚洲自拍另类综合| www.夜夜爽| 欧美日韩中文一区二区| 欧美亚洲日本网站| 欧美一区二区三区激情| 亚洲精品成人在线| 天天干天天色天天干| 日产精品一区二区| 国产精品旅馆在线| 岛国大片在线观看| 在线精品视频一区二区三四| 无码人妻精品一区二区中文| 久久精品动漫| 日韩国产在线一区| 欧美电影免费观看网站| 亚洲欧美国产精品va在线观看| 97免费在线观看视频| 国产超碰在线一区| 国产一二三在线视频| 风间由美性色一区二区三区四区 | 日韩电影免费观| 精品性高朝久久久久久久| 99热国产在线观看| 91网址在线看| www.日日操| 青青草原综合久久大伊人精品 | 美女视频黄免费的亚洲男人天堂| 91无套直看片红桃| 亚洲情趣在线观看| 性一交一黄一片| 激情久久中文字幕| 激情五月综合色婷婷一区二区 | 秋霞成人影院| 91精品国产综合久久香蕉的特点| 侵犯稚嫩小箩莉h文系列小说| 韩国av一区二区| 国产在线无码精品| 亚洲一区二区三区中文字幕在线观看 | 国产伦精品免费视频| 成人日日夜夜| 精品美女在线观看| 成人免费视频毛片| 国产午夜精品久久| av噜噜在线观看| 欧美久久一级| 免费久久一级欧美特大黄| 台湾成人免费视频| 欧美成aaa人片免费看| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 欧美日韩国产精品一区| 无码少妇一区二区| 国内久久精品视频| xxxx18hd亚洲hd捆绑| 国产亚洲一区二区三区啪| 成人免费黄色网| 538在线观看| 正在播放国产一区| 亚洲AV无码一区二区三区性| 欧美视频国产精品| 永久av免费网站| av成人老司机| 红桃视频 国产| 日韩一区二区久久| 一级特黄录像免费播放全99| 91成人噜噜噜在线播放| 国产精品精品久久久久久| 中日韩高清电影网| 亚洲人午夜精品| www久久久久久| 欧洲国内综合视频| 精品无码m3u8在线观看| 国产色婷婷亚洲99精品小说| 国产一精品一aⅴ一免费| 日韩电影免费一区| 给我免费播放片在线观看| 日韩激情一区| 久久99九九| 日韩欧美久久| 国产精品久久久久久久久借妻| 暖暖在线中文免费日本| 国产亚洲精品一区二区| 神马午夜一区二区| 69av一区二区三区| 懂色av蜜臀av粉嫩av分享吧最新章节| 亚洲美女视频在线| 天天操天天摸天天舔| 91免费国产在线| 中文字幕一区二区三区人妻在线视频| 日韩精品一区第一页| 国产素人在线观看| 欧美激情第二页| 亚洲一区二区三区免费看| 午夜精品福利影院| 国产精品久久亚洲| 精品一区二区三区中文字幕| 国产精品wwwwww| 日韩激情电影| 午夜精品一区二区三区视频免费看 | 欧美三级午夜理伦三级| 亚洲一级电影| 91传媒免费视频| 亚洲欧洲美洲一区二区三区| 一区不卡视频| 人人狠狠综合久久亚洲婷婷| 欧美一区二视频在线免费观看| 国内视频在线精品| 成人精品水蜜桃| 日本一区二区三区视频在线看| 国产女人18毛片水18精品| 另类中文字幕国产精品| 日本欧美国产在线| 一区二区三区短视频| 136fldh精品导航福利| 成人免费网站观看| 久久久在线观看| missav|免费高清av在线看| 久久久久久久久亚洲| 日本资源在线| 欧美精品久久久久久久| 毛片网站在线看| 国内外成人免费激情在线视频| h片精品在线观看| 国内精品久久久久影院 日本资源| 电影k8一区二区三区久久| 欧美精品久久一区二区| 爱情岛亚洲播放路线| 992tv成人免费视频| 综合毛片免费视频| 国产高清在线不卡| av成人在线播放| 成人午夜在线视频一区| 精品一区二区三区四区五区| www.成人三级视频| 国产suv精品一区| 久久99精品久久久水蜜桃| 精品国产乱码久久久| 正在播放国产精品| 欧美激情视频一区二区三区在线播放 | 男人天堂网在线观看| 亚洲天堂男人天堂| 欧美成人三区| 欧美激情国产高清| 中文字幕在线看片| 国产日韩欧美夫妻视频在线观看 | 亚洲第一天堂av| 日本在线视频1区| 中文字幕欧美精品在线 | 亚洲精品乱码久久久久久| 国产第100页| 欧美性猛交xxxx黑人猛交| 日韩免费av网站| 日韩一区二区不卡| 日韩av高清在线| 日韩亚洲精品电影| 毛片在线网址| 国产精品黄视频| 欧州一区二区三区| 牛人盗摄一区二区三区视频 | 中文字幕无码精品亚洲35| 日韩av在线发布| 性生活一级大片| 久久一日本道色综合| 在线观看亚洲网站| 精品久久久久久久大神国产| 中文字幕永久在线视频| 亚洲成人黄色在线| 黄色网页在线看| 欧洲亚洲女同hd| 欧美h版在线观看| 日本午夜精品一区二区| 亚洲欧美综合| 国产探花在线看| 91社区在线播放| 国产黄在线免费观看| 欧美自拍丝袜亚洲| 欧日韩在线视频| 久久伊人精品一区二区三区| 国模冰冰炮一区二区| av免费精品一区二区三区| 国产成人一区| 国产美女无遮挡网站| 国产成人三级在线观看| 9.1片黄在线观看| 欧美视频国产精品| 男人天堂av网| 久久的精品视频| 国产精品.xx视频.xxtv| 久久精品一区二区三区不卡免费视频 | 亚洲免费一区| 日韩亚洲欧美精品| 香蕉av777xxx色综合一区| 日韩高清一二三区| 亚洲视频香蕉人妖| 曰批又黄又爽免费视频| 亚洲人成电影在线观看天堂色 | 国产伊人精品在线| 精品美女视频| 日本a级片免费观看| 成人av电影在线网| 欧美精品videos极品| 正在播放亚洲一区| 久久精品视频观看| 国产日韩欧美中文在线播放| 欧美亚洲国产一区| 亚洲中文字幕久久精品无码喷水| 99re亚洲国产精品| 国产性70yerg老太| 欧美大胆一级视频| 丝袜美女在线观看| 成人欧美一区二区三区黑人免费| 一精品久久久| 亚洲热在线视频| 亚洲美女屁股眼交| 国产av精国产传媒| 欧美人在线观看| 高清日韩中文字幕| 国产美女网站在线观看| 99re在线视频这里只有精品| 国产又大又黄视频| 亚洲欧美制服综合另类| 香蕉视频亚洲一级| 亚洲草草视频| 久久99国产精品免费网站| 日本一级特级毛片视频| 欧美一卡二卡在线观看| 手机在线免费看av| 懂色中文一区二区三区在线视频| 亚洲第一黄色| 成人无码www在线看免费| 欧美午夜电影在线| 国产最新视频在线观看| 国产美女精品视频免费观看| 国产精品99久久精品| 亚洲精品一二三四| 午夜精品久久久久久久久久| 国产无套粉嫩白浆在线2022年| 国产精品在线看| 欧美激情在线| 国产精品一区二区入口九绯色| 在线免费亚洲电影| www在线免费观看视频| 国产精品永久入口久久久| 欧美一级网站| 在线免费看视频| 精品国产免费久久| av电影一区| 在线视频91| www.日本不卡| 中文字幕在线播放日韩| 欧美日韩国产123| 欧洲在线一区| av亚洲天堂网| 福利二区91精品bt7086| 婷婷五月在线视频| 国产欧美日韩综合一区在线观看 | 国产精品久久久久福利| 夜间精品视频| 丰满大乳奶做爰ⅹxx视频| 欧美午夜视频网站| 超碰中文在线| 神马一区二区影院| 成人永久aaa| 亚洲精品国产欧美在线观看| 欧美激情成人在线视频| 日本一二区不卡| 六十路息与子猛烈交尾| 欧美高清dvd| 亚洲精品成人图区| 潘金莲一级淫片aaaaaa播放1| 99精品久久99久久久久| 国产精品欧美久久久久天天影视 | 精品午夜视频| 久草综合在线观看| 香蕉av福利精品导航| 日本高清在线观看wwwww色| 久久av一区二区三区漫画|