Jquery grails groovy-将xml转换为JSON
我读了很多关于将xml转换为JSON的帖子,但我没有找到一个解决方案。 我想向客户端发送一个转换为JSON的xml数据,然后用jquery解析它 XML: JQUERY: 我尝试使用此处描述的解决方案: 但是我没有得到xml的所有结构,在客户端我有一个错误: 意外标识符伙计! “Groovy控制台”工作正常,但至少没有意外的标识符错误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你应该调整这个代码来处理你的
完成了!谢谢你做得真不错 在输出中没有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"]}]}