JSON中的所有元素名称和值

时间:2018-02-11 14:13:00

标签: java json xml comparison

我试图从JSON中获取所有元素名称和值。 基本上,我将获得JSON响应,并需要将其与XML响应进行比较。我现在决定的方法是从JSON和XML获取所有元素名称和值,然后将它们存储在单独的列表中。最后,我将仅比较列表。

Q1。有没有更好的方法来做我正在计划的事情? (将JSON与XML进行比较)

如果没有, 我这样做时遇到了一些麻烦。我的JSON是一个嵌套的JSON,我需要获取所有元素及其名称的值。但是,使用JSON,我只能获得最外层的元素。我需要这个fetch是动态的,因为我想稍后重复使用相同的代码进行其他类似的比较

$dt = theme_get_date(); if (!empty($dt)) {

(Using a sample XML I found in another answer on StackOverflow)

import org.json.JSONException; import org.json.JSONObject; import org.json.XML; import groovy.json.JsonBuilder; import java. util.ArrayList; import java. util.Iterator import groovy.json.JsonSlurper xml = """ { "master": { "node": "xyz", "files": [{"type": "modified", "file": "test.txt"}] }, "testbranch2": { "node": "abc", "files": [{"type": "modified", "file": "test.txt"}] }, "testbranch": { "node": "xxx", "files": [{"type": "modified", "file": "test.txt"}], } } """ def json = new JSONObject(xml); def test = new JsonSlurper().parseText(json.toString()) log.info test.keySet() log.info test.Outer.keySet() 只设法获取最外面的密钥,而不是全部。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用jackson将xml转换为json / JsonNode,然后轻松地与您想要的任何级别进行比较。

请参阅下面的链接,了解如何将xml转换为json。 How to convert XML to JSON using only Jackson?

相关问题