如何解决如何让所有Json Body的孩子振作起来
我可以问一下,我的json主体是否有多个像这样的子节点。
{ "head": { "title": "Podcasts","status": "200"},"body": [
{ "element" : "outline","text" : "Music","children": [
{ "element" : "outline","type" : "link","text" : "Schlager","URL" : "http://opml.radiotime.com/Browse.ashx?id=c100000594&filter=p:topic","guide_id" : "c100000594" },{ "element" : "outline","text" : "Rádios da Metropolitana FM","URL" : "http://opml.radiotime.com/Browse.ashx?id=c100002153&filter=p:topic","guide_id" : "c100002153" },"text" : "Hits Popular","URL" : "http://opml.radiotime.com/Browse.ashx?id=c100000599&filter=p:topic","guide_id" : "c100000599" },"text" : "Top 40 & Pop Music","URL" : "http://opml.radiotime.com/Browse.ashx?id=c57943&filter=p:topic","guide_id" : "c57943" },] },"text" : "Talk","text" : "International Public Radio","URL" : "http://opml.radiotime.com/Browse.ashx?id=c100001487&filter=p:topic","guide_id" : "c100001487" },"text" : "History Podcasts","URL" : "http://opml.radiotime.com/Browse.ashx?id=c100000897&filter=p:topic","guide_id" : "c100000897" },] }
] }
我的代码只能得到第一个孩子。
List<Prodcasts> parseProdcasts(String responseBody) {
var parsed = jsonDecode(responseBody)['body'][0]['children'] as List;
return parsed.map<Prodcasts>((json) => Prodcasts.fromJson(json)).toList();
}
因为我键入了['body'][0]['children']
,如果我想第二个孩子,我必须键入['body'][1]['children']
好的,但是如果我想让所有的孩子们怎么办? 在此先感谢
解决方法
要生孩子,您需要地图功能。
jsonDecode(responseBody)['body'].map((item)=> item['children']).toList().expand((x) => x).toList()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。