Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 使用groovy将XML转换为映射_Json_Groovy_Xml Parsing_Xml Namespaces - Fatal编程技术网

Json 使用groovy将XML转换为映射

Json 使用groovy将XML转换为映射,json,groovy,xml-parsing,xml-namespaces,Json,Groovy,Xml Parsing,Xml Namespaces,我有一些XML要转换成地图。我使用了将XML转换为JSON的中间方法,然后将JSON映射变灰: import org.json.XML import groovy.json.JsonSlurper Map parseXml(String input) { String json = XML.toJSONObject(input).toString() new JsonSlurper().parseText(json) } 但当您使用名称间距时,它不会被删除 例如 但我希

我有一些XML要转换成地图。我使用了将XML转换为JSON的中间方法,然后将JSON映射变灰:

import org.json.XML
import groovy.json.JsonSlurper
  Map parseXml(String input) {
    String json = XML.toJSONObject(input).toString()
    new JsonSlurper().parseText(json)
  }
但当您使用名称间距时,它不会被删除

例如

但我希望它最终是这样的:

{
  "someObject":  [
      {
        "something": "SOME_THING"
      },
      {
        "something": "SOME_THING_ELSE"
      }
    ]
}
有人知道我如何在不重新发明轮子的情况下实现这一点吗

我已经找到了一个和我的有点相似的,但它有一个不同的方法,这就是为什么我问我的问题。 我给出的例子只是一个例子,但是在另一篇文章中给出的答案中没有包含多个
someObjects
。 其次,它确实在XML上进行迭代,并创建一个XML映射-这就是我所说的重新发明轮子的意思。我确信一定有一个库已经做到了这一点,所以对我来说,自己编写解析代码似乎是错误的


非常感谢

可能的重复我将此标记为重复,因为我相信旧问题的答案在这种情况下会起作用。正如我所说的,我想相信已经有一个解析器为您完成了这项工作,因为我不想重新发明轮子。此外,我希望它是通用的,因此如果我得到一个新的xml属性,它应该自动被包括在内,而另一篇文章中的通用答案不包括根父级。
{
  "ns2:someObject": {
    "xmlns:ns2": "http://someLink",
    "someOtherObject": [
      {
        "something": "SOME_THING"
      },
      {
        "something": "SOME_THING_ELSE"
      }
    ]
  }
}
{
  "someObject":  [
      {
        "something": "SOME_THING"
      },
      {
        "something": "SOME_THING_ELSE"
      }
    ]
}