cuốn sách gpt4 ai đã làm

6 giải pháp phân tích cú pháp JSON này quá hay!

In lại Tác giả: Sahara Thời gian cập nhật: 2025-01-02 10:38:57 58 4
mua khóa gpt4 Nike

Lời nói đầu

Trong quá trình phát triển Java, cú pháp phân tích JSON là một nhu cầu rất phổ biến.

Cho dù tương tác với người dùng giao diện, gọi giao diện của bên thứ ba hoặc xử lý cấu hình tệp, JSON gần như không thể tránh from.

Bài viết này tổng hợp 6 cú pháp phân tích cú pháp chính JSON, hy vọng nó sẽ hữu ích cho các bạn.

(Gần đây tôi đã mở một dự án trung tâm mua sắm dựa trên SpringBoot+Vue+uniapp. Chào mừng bạn đến thăm và đóng vai chính.) [https://gitee.com/dvsusan/susan_mall].

1. Use Jackson: Tiêu chuẩn chuyên ngành

Special

  • Tuần tự hóa và giải tuần tự động mạnh mẽ: Hỗ trợ chuyển đổi chuỗi JSON thành Java đối tượng cũng được hỗ trợ chuyển đổi đối tượng Java thành JSON.
  • Hỗ trợ phức hợp cấu hình: Rất dễ dàng để xử lý các đối tượng lồng nhau, mảng, đốt và các tình huống khác.
  • Support support:like @JsonBỏ qua,@JsonProperty vv, có thể kiểm soát tốt hành vi tuần tự hóa và giải tuần tự hóa.
  • Hiệu suất cao: Hiệu suất của Jackson rất tốt và là lựa chọn hàng đầu cho nhiều dự án cấp doanh nghiệp.

ví dụ về mã hóa

1. JSON để phản ánh (khử lưu huỳnh).

input com.fasterxml.jackson.databind.ObjectMapper; public class JacksonExample { public static void main(String[] args) Ném Exception { String json = "{\"id\":1,\"name\":\" Zhang San\"}"; ObjectMapper objectMapper = new ObjectMapper(); người dùng = objectMapper.readValue(json, User.class); System.out.println(user.getName()); // Đầu ra: Zhang San} } class User { private int id; // Getters và Setters bị bỏ qua }

2. Chuyển đổi đối tượng thành JSON (tự động hóa theo tuần).

User user user = user new(); user.setId(1); user.setName("李思"); ObjectMapper objectMapper = new ObjectMapper() ); "tên:"Lý Sĩ"}

Tính năng nâng cao

  • tháng định dạng:@JsonFormat(mẫu = "yyyy-MM-dd")
  • Bỏ qua các trường:@JsonBỏ qua
  • Đổi tên trường:@JsonProperty("custom_name")

Ưu điểm của point point

lợi thế Missing sot
Chức năng toàn diện, hỗ trợ các phức tạp phức tạp Có nhiều cấu hình hơn và chi phí học tập cao hơn một chút.
Hiệu suất cao, cộng đồng năng động, lựa chọn hàng đầu cho các dự án cấp doanh nghiệp Quá mạnh, một số chức năng không thể sử dụng được
Tiện ích bổ sung phong phú để tạo điều kiện kiểm soát điều khiển tuần tự động hóa Thư viện lớn và cồng kềnh cho các dự án nhỏ

2. Sử dụng Gson: rút gọn, dễ sử dụng

Special

  • nhẹ nhàng: Thiết kế của Gson rất đơn giản, ít mã hóa và phù hợp với các dự án vừa và nhỏ.
  • Hỗ trợ thuốc generic: Có thể dễ dàng phân tích cú pháp JSON bằng các generics.
  • Kiểm tra phần thích thú: Hỗ trợ kiểm soát hành vi tuần tự hóa thông tin qua các chú thích, đưa ra giới hạn @Phơi ra.
  • Dễ dàng mở rộng: Các phức tạp phức tạp có thể được xử lý bằng cách tùy chỉnh bộ tuần tự hóa và bộ giải mã tuần tự.

ví dụ về mã hóa

1. Chuyển đổi thành đối tượng 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()); // Đầu ra: Wang Wu} }

2. Chuyển đổi đối tượng thành JSON.

User user = User new(); user.setId(2); user.setName("Zhao Liu" ); // Đầu ra: {"id":2,"name://Zhao Liu" }

Tính năng nâng cao

  • Bỏ qua các trường:@Phơi ra
    @Expose Riêng chuỗi tên riêng;
    
  • Bộ điều chỉnh tự động hóa/giải mã tuần tự:
    Gson gson = new GsonBuilder() .registerTypeAdapter(CustomClass.class, new CustomSerializer()) .create();
    

Ưu điểm của point point

lợi thế Missing sot
Tinh tế, đơn giản và dễ sử dụng, phù hợp với các dự án vừa và nhỏ Thành tích hơi thua gần Jackson
Đường cong học tập mượt mà, dễ dàng cho người mới bắt đầu Không giàu chức năng như Jackson
Cung cấp khả năng mở rộng tốt Các đối tượng phức tạp sẽ rối hơn khi xử lý

3. Sử dụng FastJSON: hiệu suất cao

Special

  • Hiệu suất tuyệt vời: Cú pháp phân tích tốc độ của FastJSON rất nhanh và phù hợp với khối lượng dữ liệu lớn.
  • Hỗ trợ các trường động: Có thể xử lý dữ liệu JSON một cách dễ dàng.
  • Loại hỗ trợ mạnh mẽ: Hỗ trợ các cấu trúc phức tạp như lồng nhau các đối tượng, tổng hợp và mảng.
  • Kiểm tra phần thích thú: Tương tự như Jackson và Gson, nó hỗ trợ tự động hóa hàng tuần và giải pháp tự động hóa các trường kiểm soát chú thích.

ví dụ về mã hóa

1. Chuyển đổi thành đối tượng JSON.

enter com.alibaba.fastjson.JSON; lớp công khai FastJsonExample { public static void main(String[] args) { String json = "{\"id\":1,\"name\":\"Xiao Ming\" } " ; User user = JSON.parseObject(json, User.class); System.out.println(user.getName()); // Đầu ra: Xiao Ming} }

2. Chuyển đổi đối tượng thành JSON.

Người dùng người dùng = Người dùng mới(); user.setId(3); user.setName("小红"); Chuỗi json = JSON.toJSONString(user); System.out.println(json); 3,"tên:"小红"}

Tính năng nâng cao

  • Type chữ câu lạc bộ tự động để gạch chân:
    JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
    
  • Phân tích trường động:
    Bản đồ map = JSON.parseObject(json, Map.class);
    

Ưu điểm của point point

lợi thế Missing sot
Hiệu suất cực cao và tốc độ phân tích nhanh Đã có những tranh cãi về vi phạm an ninh lịch sử
Hỗ trợ phức tạp phân tích trường Hoạt động cộng đồng sôi động hơn Jackson và Gson một chút
Chức năng tương thích, phù hợp với quy tắc xử lý dữ liệu mô-đun lớn Có nhiều cấu hình và API tùy chọn, phức tạp.

4. Sử dụng JsonPath: Trích xuất nhanh các trường lồng nhau

Special

  • Khai thác trường hiệu quả: Trích xuất nhanh các lồng thông tin qua các đường dẫn biểu thức (tương tự như XPath).
  • Linh hoạt cao: Hỗ trợ các trường động và lọc điều kiện.
  • nhẹ nhàng: Tập trung vào khai thác hiện trường, với các chức năng đơn giản và rõ ràng.

ví dụ về mã hóa

enter com.jayway.jsonpath.JsonPath; lớp công khai JsonPathExample { public static void main(String[] args) { String json = """ { "store": { "book": [ {"title": "Sách 1 " , "giá": 10}, {"title": "Quyển 2", "giá": 20} ] } } """; // String title = JsonPath.read(json, "$.store.book[0].title"); System.out.println(title); // Đầu ra: Quyển 1 // Trích xuất tất cả danh sách giágiá = JsonPath.read (json, "$.store.book[*].price"); System.out.println(price); // Kết quả: [10, 20] } }

Ưu điểm của point point

lợi thế Missing sot
Khai thác hiện trường đơn giản và hiệu quả Tuần tự hóa và giải tuần tự hóa không được hỗ trợ
Khả năng xử lý môi trường mạnh mẽ Phụ thuộc vào cú pháp JsonPath
Thích hợp để trích xuất nhanh các trường lồng nhau Không phù hợp để chuyển đổi đầy đủ JSON

5. Sử dụng org.json: lớp công cụ nhẹ nhàng

Special

  • nhẹ nhàng: Cốt lõi là một lớp công cụ phù hợp với các vấn đề đơn giản.
  • Đơn giản để xây dựng và phân tích: Thích hợp để tạo JSON nhanh hoặc trích xuất các trường.
  • Linh hoạt trung bình: phức tạp đối tượng ánh xạ không được hỗ trợ.

ví dụ về mã hóa

enter org.json.JSONObject; lớp công khai OrgJsonExample { public static void main(String[] args) { String json = "{\"id\":1,\"name\":\"Zhang San\"}" ; // Trích xuất trường JSONObject jsonObject = new JSONObject(json); System.out.println(jsonObject.getString("name")); // Đầu ra: Zhang San// Xây dựng JSON JSONObject newJson = new JSONObject(); ("name", "李思"); đầu ra: {"id":2,"name:"李思"} } }

Ưu điểm của point point

lợi thế Missing sot
Nhẹ nhàng, phù hợp với những vấn đề đơn giản Các phức hợp đối tượng không được hỗ trợ
Dễ dàng sử dụng và học tập miễn phí Chức năng đơn giản và khả năng mở rộng gần

6. Phân tích cú pháp JSON theo cách thủ công: linh hoạt nhất

Special

  • hoàn toàn miễn phíJSON.
  • Xử lý động: JSON phù hợp với trường cấu hình đều không.
  • Cao mã hóa phức tạp: Thích hợp cho những cảnh đặc biệt.

ví dụ về mã hóa

nhập com.fasterxml.jackson.core.type.TypeReference; nhập com.fasterxml.jackson.databind.ObjectMapper; nhập java.util.Map; lớp công khai ManualParsing { public static void main(String[] args) xử lý ngoại lệ { Chuỗi json = "{\"id\":1,\"name\":\"Trường động\"}"; ObjectMapper(); map = objectMapper.readValue(json, TypeReference mới<>>() {}); System.out.println(map.get("name")); // Đầu ra: trường động } }

Ưu điểm của point point

lợi thế Missing sot
Tính linh hoạt cao, phù hợp với lĩnh vực năng động Độ phức tạp của cao mã hóa và bảo trì khó khăn
Không dựa vào thư viện của bên thứ ba Hiệu suất và hiệu quả thấp hơn các chuyên gia JSON thư viện

Tóm tắt

Cuối cùng, hãy để tôi so sánh ưu điểm và nhược điểm của sáu phương pháp được đề cập trong bài viết:

phương pháp Các tình huống áp dụng lợi thế Missing sot
Jackson Dự án cấp doanh nghiệp, kịch bản tuần tự hóa và giải tuần tự phức tạp phức tạp Chức năng mạnh mẽ, hiệu suất tuyệt vời, hỗ trợ các cấu trúc phức hợp Cấu hình phức tạp và đường học tập cao
Gson Project vừa và nhỏ, script chuyển đổi JSON đơn giản Sử dụng hoàn hảo và dễ dàng Chức năng giới hạn, hiệu suất hơi thấp
FastJSON Yêu cầu hiệu suất cao, phân tích lượng dữ liệu lớn Hiệu suất cực cao và giàu tính năng Đã có tranh cãi về ổ bảo mật và sự hỗ trợ của cộng đồng ít hơn Jackson một chút
JsonPath bản có cấu trúc được lồng vào nhau phức tạp và trích xuất trường động Cú pháp trích xuất trường đơn giản và linh hoạt Tuần tự hóa và giải tuần tự hóa không được hỗ trợ
org.json Cú pháp phân tích hoặc xây dựng bản script JSON nhanh Nhẹ nhàng, phù hợp với những vấn đề đơn giản Các chức năng đơn lẻ và khả năng mở rộng gần như
Cú pháp phân tích cú pháp Dynamic JSON hoặc các vấn đề trong đó các trường không thể sửa được Mức độ tự động làm và hoạt động cao Mã phức tạp và hiệu quả hơn các công cụ chuyên nghiệp

Có hàng ngàn công cụ, nhưng cảnh quan trọng nhất .

Việc chọn đúng công cụ có thể tiết kiệm thời gian và công sức, đồng thời tránh được những cạm bẫy và có nhiều cơ hội hơn.

Lời cuối cùng muốn nói (xin hãy chú ý đến tôi, đừng bán dâm tôi một cách vô ích)

Nếu bài viết này hữu ích hoặc truyền cảm hứng cho bạn, hãy giúp tôi theo dõi tài khoản công khai cùng tên của tôi: Su San nói về công nghệ.

Vui lòng nhấp vào ba liên kết: thích, chuyển tiếp và xem.

Theo dõi tài khoản công khai: [Su San nói về công nghệ] và trả lời trong tài khoản công khai: Nếu bạn vào một nhà máy lớn, bạn có thể đã nhận được hướng dẫn phỏng vấn miễn phí 100.000 từ trình soạn thảo mới của tôi. Đã mời nhiều nhà máy bằng cách dựa vào hướng dẫn này.

Cuối cùng, bài viết này nói về 6 giải pháp phân tích cú pháp JSON, chúng quá hay! Bài viết này chỉ vậy thôi nếu bạn muốn biết thêm về 6 giải pháp phân tích cú pháp JSON này, nó thực sự rất tuyệt! Về nội dung, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

58 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress