比较Scala中的json平等
发布时间:2020-12-16 21:31:59 所属栏目:安全 来源:网络整理
导读:如果两个json结构在 scala中是一样的,我该怎么比较? 例如,如果我有: { resultCount: 1,results: [ { artistId: 331764459,collectionId: 780609005 } ]} 和 { results: [ { collectionId: 780609005,artistId: 331764459 } ],resultCount: 1} 它们应该被认
如果两个json结构在
scala中是一样的,我该怎么比较?
例如,如果我有: { resultCount: 1,results: [ { artistId: 331764459,collectionId: 780609005 } ] } 和 { results: [ { collectionId: 780609005,artistId: 331764459 } ],resultCount: 1 } 它们应该被认为是平等的 解决方法
你应该能够简单地做json1 == json2,如果json库被正确写入.这不是为你工作吗?
这是与spray-json,虽然我期望从每个json库相同: import spray.json._ import DefaultJsonProtocol._ Welcome to Scala version 2.10.4 (OpenJDK 64-Bit Server VM,Java 1.7.0_51). Type in expressions to have them evaluated. Type :help for more information. scala> val json1 = """{ "a": 1,"b": [ { "c":2,"d":3 } ] }""".parseJson json1: spray.json.JsValue = {"a":1,"b":[{"c":2,"d":3}]} scala> val json2 = """{ "b": [ { "d":3,"c":2 } ],"a": 1 }""".parseJson json2: spray.json.JsValue = {"b":[{"d":3,"c":2}],"a":1} scala> json1 == json2 res1: Boolean = true Spray-json使用一个不可变的scala Map来代表一个由解析产生的抽象语法树中的一个JSON对象,所以它只是使用Map的相等语义来实现这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |