Clojure:
Arbeiten mit JSON

Wie geht das:

Clojure enthält keine eingebauten Funktionen zum Arbeiten mit JSON, daher verwenden Sie typischerweise Bibliotheken von Drittanbietern. cheshire und jsonista sind aufgrund ihrer Benutzerfreundlichkeit und Leistung beliebte Auswahlmöglichkeiten.

Cheshire verwenden

Zuerst fügen Sie Cheshire zu Ihren Projekt-Abhängigkeiten in project.clj hinzu:

[com.fasterxml.jackson.core/jackson-core "2.12.0"]
[cheshire "5.10.1"]

Um einen JSON-String in eine Clojure-Map zu parsen und eine Map in einen JSON-String zu konvertieren:

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

;; JSON-String zu Clojure-Map parsen
(let [json-input "{\"name\":\"John\", \"age\":30}"]
  (json/parse-string json-input true)) ; => {"name" "John", "age" 30}

;; Clojure-Map in JSON-String konvertieren
(let [clj-map {"name" "John", "age" 30}]
  (json/generate-string clj-map)) ; => "{\"name\":\"John\",\"age\":30}"

Jsonista verwenden

Fügen Sie Jsonista Ihrem Projekt project.clj hinzu:

[jsonista "0.3.2"]

Ähnliche Operationen mit Jsonista:

(require '[jsonista.core :as j])

;; JSON-String zu Clojure parsen
(let [json-input "{\"name\":\"Emily\", \"age\":25}"]
  (j/read-value json-input)) ; => {"name" "Emily", "age" 25}

;; Clojure-Map in JSON-String konvertieren
(let [clj-map {"name" "Emily", "age" 25}]
  (j/write-value-as-string clj-map)) ; => "{\"name\":\"Emily\",\"age\":25}"

In beiden Bibliotheken haben Sie die Möglichkeit, komplexere Datenstrukturen zu kodieren und zu dekodieren, und es gibt zusätzliche Funktionen und Parameter, die eine Anpassung der Serialisierungs- und Deserialisierungsprozesse ermöglichen. Für die meisten Anwendungen bietet die demonstrierte Funktionalität eine solide Grundlage für die Arbeit mit JSON in Clojure-Anwendungen.