Clojure json comparing



在我的一些测试中,我比较了一些http调用之间的json结果,今天我只是比较字符串,这太天真了,不可靠,例如,如果顺序发生变化。你能建议一下如何比较两个json中不同顺序的元素,比如:

{
"k1":"v1",
"k2":"v2"
}

{
"k2":"v2",
"k1":"v1"
}

谢谢欧迪

将JSON主体解析为Clojure数据结构,例如cheshire,并比较它们:

(ns my.ns
(:require 
[cheshire.core :as json]))
(def body1
"{"a": 1, "b": 2}")
(def body2
"{"b": 2, "a": 1}")
(= body1 body2)
;; => false
(let [keywordize-keys? true]
(= (json/decode body1 keywordize-keys?)
(json/decode body2 keywordize-keys?)))
;; => true

相关内容

  • 没有找到相关文章

最新更新