- vừa được xem lúc

Các công cụ làm việc với JSON

0 0 24

Người đăng: logbasex

Theo Viblo Asia

Introduction

Website những ngày đầu chỉ là những trang web tĩnh (HTML/XHTML + CSS, có thể bao gồm cả Javascript), tĩnh có nghĩa là mỗi khi bạn request đến một đường link/site nào đấy thì nội dung trả về là không thay đổi.

Với công nghệ hồi đó thì rất khó để thay đổi content của trang web trong thời gian thực như thế này nếu không có sự phát minh của những kĩ thuật tiên tiến khác.

Đó là lý do mà kỹ thuật AJAX (Asynchronous JavaScript And XML) ra đời. Về cơ bản thì AJAX cho phép thay đổi nội dung của trang web mà không cần phải reload toàn bộ trang. Ví dụ như khi anh Sơn Tùng MTP vừa đăng một bức hình lên FB, chưa có like nào cả, thì khi bạn bấm vào nút like, AJAX sẽ gọi lên server để lấy số like hiện tại và trả về để hiển thị. Do đó khi bạn like thì số like sẽ tự nhảy lên thành N likes chứ không phải là 1.

Và trong quá trình làm việc với AJAX, một số cá nhân phát hiện ra sự bất tiện khi trao đổi dữ diệu giữa client và server bằng XML, nên một dạng data interchange format hiệu quả hơn có tên là JSON đã được sử dụng. Vì kể từ có AJAX, mô hình client-server trở nên vô cùng phổ biến và JSON theo đó cũng thở thành một tiêu chuẩn cho việc giao tiếp giữa client và server.

Câu chuyện tiếp theo là một phần của lịch sử.

Thời điểm hiện tại, third party APIs như Google, Facebook....hay các dạng NoSQL database đều sử dụng JSON. Nói chung là dữ liệu được tổ chức và lữu trữ bằng JSON vô cùng lớn, khả năng trong tương lại gần việc bạn phải làm việc với JSON data gần như là chắc chắn. Vì vậy trong bài viết này mình giới thiệu đến các bạn một số kỹ thuật để làm việc với JSON nhanh và hiệu quả.

JSON

Khi làm việc với JSON mình thường làm các tác vụ chủ yếu như sau:

  • Format/Repair
  • Resharping (transform)
  • Edit (Manipulate)
  • Compare
  • Convert to object (programming language)

1. Format JSON

Với những file JSON có dữ liệu vừa và nhỏ thì bạn có thể sử dụng một trong các công cụ sau để format/repair JSON:

Hay thậm chí dùng Postman cũng được luôn =)) 😂😂

Tuy nhiên nếu file JSON chứa một lượng lớn dữ diệu lên tới hàng triệu dòng (> 10MB) thì các tools ở trên thường gây ra tình trạng không phản hồi 🥲. Với trường hợp này thì mình hay dùng plugin Pretty JSON trong Sublime Text. Nếu bạn chưa biết thì cài đặt như sau:

  • Nhấn tổ hợp phím Ctrl + Shift + P và gõ Install Package
  • Click chọn Select Package Control: Install Package từ danh sách kết quả trả về.
  • Click chọn Pretty JSON

2. Reshape JSON

Giả sử chúng ta có hai tập tin JSON như sau:

raw-data.json

[ { "id": 1, "hashtags": { "indices": [ 41, 50 ], "text": "A" } }, { "id": 2, "hashtags": { "indices": [ 51 ], "text": "B" } }, ...
]

data.json

[ { "id": 1, "hashtags": "A" }, { "id": 1, "hashtags": "B" }, ...
]

Yêu cầu đặt ra là phải kiểm tra tất cả các cặpidtext trong tập tin raw-data.json có giống trong tập tin data.json thì bạn sẽ làm thế nào cho hiệu quả? Bạn có thể làm thủ công, lấy từng id ra search rồi so sánh text, hay viết code chẳng hạn...nhưng về cơ bản là mình nghĩ là không quá nhanh. Bằng cách sử dụng https://jsoneditoronline.org/, công việc của bạn cần làm sẽ đơn giản hơn khá nhiều.

Reshaping

Compare

Cũng có một cách khác đó là sử dụng JSON query của plugin Pretty JSON mà mình đề cập ở phần trước:

Trên Ubuntu thì nhớ sudo apt install jq trước khi sử dụng bạn nhé 😇.

Nếu trong trường hợp gặp file JSON siêu to khổng lồ thì đừng dại sử dụng GUI nhé, vì nếu không giật lag thì bạn cũng dễ gặp mấy cái lỗi như này =))

Cái thực sự mạnh thì không dễ dùng 🥰🥰.

3. Manipulate JSON

  • Đó là jq, một command-line utility chuyên để xử lý JSON rất mạnh. Tuy nhiên mình sẽ không đi vào chi tiết trong bài viết này.

4. JSON to POJO

References

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp các bài hướng dẫn về Design Pattern - 23 mẫu cơ bản của GoF

Link bài viết gốc: https://gpcoder.com/4164-gioi-thieu-design-patterns/. Design Patterns là gì. Design Patterns không phải là ngôn ngữ cụ thể nào cả.

0 0 277

- vừa được xem lúc

Học Spring Boot bắt đầu từ đâu?

1. Giới thiệu Spring Boot. 1.1.

0 0 257

- vừa được xem lúc

Cần chuẩn bị gì để bắt đầu học Java

Cần chuẩn bị những gì để bắt đầu lập trình Java. 1.1. Cài JDK hay JRE.

0 0 37

- vừa được xem lúc

Sử dụng ModelMapper trong Spring Boot

Bài hôm nay sẽ là cách sử dụng thư viện ModelMapper để mapping qua lại giữa các object trong Spring nhé. Trang chủ của ModelMapper đây http://modelmapper.org/, đọc rất dễ hiểu dành cho các bạn muốn tìm hiểu sâu hơn. 1.

0 0 180

- vừa được xem lúc

[Java] 1 vài tip nhỏ khi sử dụng String hoặc Collection part 1

. Hello các bạn, hôm nay mình sẽ chia sẻ về mẹo check String null hay full space một cách tiện lợi. Mình sẽ sử dụng thư viện Lớp StringUtils download file jar để import vào thư viện tại (link).

0 0 55

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 124