groovy – 如何使用jsonbuilder与集合?
发布时间:2020-12-14 16:36:43 所属栏目:大数据 来源:网络整理
导读:我需要创建一个这样的json消息: { success:true,count:3,data: [ {id:1},{id:2},{id:3} ]} 我试过这个 import groovy.json.*def tasks = [1,2,3]def json = new JsonBuilder()json{ success(true) count(tasks.size()) data { tasks.each { data( id: it )
我需要创建一个这样的json消息:
{ success:true,count:3,data: [ {id:1},{id:2},{id:3} ] } 我试过这个 import groovy.json.* def tasks = [1,2,3] def json = new JsonBuilder() json{ success(true) count(tasks.size()) data { tasks.each { data( id: it ) } } } JsonOutput.prettyPrint(json.toString()) 但它不行。有人能告诉我如何使它工作吗? 解决方法
我建议将任务列表转换为[[id:1],[id:2],[id:3]]形式的列表,然后“jsonizing”它:
import groovy.json.JsonBuilder def tasks = [1,3] def json = new JsonBuilder() json{ success(true) count(tasks.size()) data(tasks.collect {[id: it]}) } println json.toPrettyString() 我通常喜欢首先在Groovy中生成数据结构(例如列表,地图),然后将它们转换为JSON,这样我通常可以对要进行序列化的数据进行更多的控制,而且不需要在序列化代码。 import groovy.json.JsonBuilder def tasks = [1,3] def data = [ success: true,count: tasks.size(),data: tasks.collect {[id: it]} ] def json = new JsonBuilder(data) println json.toPrettyString() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |