Clojure:
Làm việc với JSON

Cách thực hiện:

Hãy thử nghiệm với JSON trong Clojure. Bạn sẽ cần Cheshire, một thư viện phổ biến cho mã hóa/giải mã JSON.

Trước tiên, thêm Cheshire vào phần phụ thuộc project.clj của bạn:

[cheshire "5.10.1"]

Đọc JSON từ một chuỗi và chuyển đổi nó thành một bản đồ Clojure:

(require '[cheshire.core :as json])

(def json-str "{\"name\":\"Clojure\"}")
(def clojure-map (json/parse-string json-str))

(println clojure-map)  ;; => {"name" "Clojure"}

Chuyển một bản đồ Clojure thành một chuỗi JSON:

(def clojure-data {:language "Clojure" :cool true})
(def json-output (json/generate-string clojure-data))

(println json-output)  ;; => {"language":"Clojure","cool":true}

Phân tích JSON từ một tệp:

(slurp "data.json")  ;; nội dung: {"message": "Chào, JSON!"}
(def file-content (slurp "data.json"))
(def message-data (json/parse-string file-content true))

(println message-data)  ;; => {"message" "Chào, JSON!"}

Sâu hơn

Lịch sử của JSON bắt đầu với JavaScript, nhưng bây giờ nó được sử dụng rộng rãi, không phụ thuộc vào ngôn ngữ mẹ. Các lựa chọn khác? XML là lựa chọn phổ biến trước đây, tuy nhiên lại rườm rà hơn. YAML đơn giản, thân thiện với con người hơn nhưng không phổ biến như JSON trong các API. Về mặt triển khai: Clojure không phải là JavaScript, vì vậy các thư viện như Cheshire là cần thiết. Chúng kết nối bằng cách sử dụng các thư viện Java bên dưới để xử lý việc phân tích và tạo ra dữ liệu một cách hiệu quả.

Xem thêm