Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
Jquery grails groovy-将xml转换为JSON_Jquery_Xml_Json_Grails_Groovy - Fatal编程技术网

Jquery grails groovy-将xml转换为JSON

Jquery grails groovy-将xml转换为JSON,jquery,xml,json,grails,groovy,Jquery,Xml,Json,Grails,Groovy,我读了很多关于将xml转换为JSON的帖子,但我没有找到一个解决方案。 我想向客户端发送一个转换为JSON的xml数据,然后用jquery解析它 XML: JQUERY: 我尝试使用此处描述的解决方案: 但是我没有得到xml的所有结构,在客户端我有一个错误: 意外标识符伙计! “Groovy控制台”工作正常,但至少没有意外的标识符错误 完成了!谢谢你做得真不错 在输出中没有dataname和str属性,我应该也有它们。我在GSP视图中仍然有一个意外的标识符:@Jils你应该调整这个代码来处理你的

我读了很多关于将xml转换为JSON的帖子,但我没有找到一个解决方案。 我想向客户端发送一个转换为JSON的xml数据,然后用jquery解析它

XML:

JQUERY:

我尝试使用此处描述的解决方案: 但是我没有得到xml的所有结构,在客户端我有一个错误: 意外标识符

伙计! “Groovy控制台”工作正常,但至少没有意外的标识符错误


完成了!谢谢你做得真不错

在输出中没有dataname和str属性,我应该也有它们。我在GSP视图中仍然有一个意外的标识符:@Jils你应该调整这个代码来处理你的标签…伙计,这对我来说真的很有用,尝试通过这里的所有堆栈跟踪…@danielad-谢谢你的帖子,我正在寻找类似的东西,但格式上几乎没有变化,比如。。。{mode:[{data:ABC},{file:DEF},{file:GHI},{file:JKL},{data:MNO},{data:PQR},{data:STV}]}不确定您是否仍然存在问题?以下关于源链接的答案将处理将任何XML转换为JSON的问题。
<mode name="name" >
   <data dataname="STO" str="none">data</data>
   <file dataname="FO" str="none">file</file>
   <file dataname="STO" str="none">file</file>
   <file dataname="STO" str="none">file</file>
   <data dataname="FO" str="none">data</data>
   <data dataname="STO" str="none">data</data>
   <data dataname="FO" str="none">data</data>
</mode>
def xmlTest = new XmlParser().parse(xmlFile)
def nodetest= xmlTest.mode.find {it.'@name' ==  'name'}

def jsonObject = [ mode: mode.collect {
[ (it.name()): it.text() ]
 } ]

def json = new groovy.json.JsonBuilder( jsonObject )

render(view: "myView", model: [json:json])
return
var obj = $.parseJSON("${json}");
alert(obj);
import groovy.json.*
def xml ='''<mode name="name" >
   <data dataname="STO" str="none">ABC</data>
   <file dataname="FO" str="none">DEF</file>
   <file dataname="STO" str="none">GHI</file>
   <file dataname="STO" str="none">JKL</file>
   <data dataname="FO" str="none">MNO</data>
   <data dataname="STO" str="none">PQR</data>
   <data dataname="FO" str="none">STV</data>
</mode>'''.stripMargin()

def parsed = new XmlParser().parseText( xml )
// Deal with each node:
def handle
handle = { mode ->
  if( mode instanceof String ) {
      mode
  }
  else {
      [ (mode.name()): mode.collect( handle ) ]
  }
}

// Convert it to a Map containing a List of Maps
def jsonObject = [ (parsed.name()): parsed.collect { mode ->
   [ (mode.name()): mode.collect( handle ) ]
} ]

// And dump it as Json
def json = new groovy.json.JsonBuilder( jsonObject )

print json
{"mode":[{"data":["ABC"]},{"file":["DEF"]},{"file":["GHI"]},{"file":["JKL"]}
,{"data":["MNO"]},{"data":["PQR"]},{"data":["STV"]}]}