Clojure:
Werken met JSON

Hoe te:

Laten we spelen met JSON in Clojure. Je hebt Cheshire nodig, een populaire bibliotheek voor JSON-codering/decodering.

Voeg eerst Cheshire toe aan je project.clj afhankelijkheden:

[cheshire "5.10.1"]

JSON lezen vanuit een string en het omzetten naar een Clojure-map:

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

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

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

Een Clojure-map omzetten naar een JSON-string:

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

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

JSON parseren vanuit een bestand:

(slurp "data.json")  ;; inhoud: {"message": "Hello, JSON!"}
(def file-content (slurp "data.json"))
(def message-data (json/parse-string file-content true))

(println message-data)  ;; => {"message" "Hello, JSON!"}

Diepe Duik

De geschiedenis van JSON begint bij JavaScript, maar nu is het overal, niet afhankelijk van zijn oorspronkelijke taal. Alternatieven? Voorheen was XML de standaard, hoewel meer langdradig. YAML is eenvoudiger, mensvriendelijker maar niet zo universeel voor API’s. Wat betreft de implementatie: Clojure is geen JavaScript, dus bibliotheken zoals Cheshire zijn essentieel. Ze overbruggen de kloof door gebruik te maken van Java-bibliotheken onder de motorkap om het parsen en genereren efficiënt te behandelen.

Zie Ook