我具有JSON结构,如下所示,并且我试图在抖动中使用它。我需要检索嵌套的JSON数组图像的内容,但是我不完全知道这样做的正确方法,我假设创建“数据”的父对象类并为图像创建另一个对象类就可以了。这个Json结构可以用颤抖和飞镖解析吗?帮助将不胜感激。
{
"data": {
"id": "1",
"title": "Prof. Ernesto Shanahan Jr.",
"slug": "laudantium",
"description": "Enim voluptas iure deleniti eveniet autem in. Exercitationem veniam est ducimus velit incidunt sit recusandae. Sed animi harum voluptatibus. Optio asperiores aspernatur iure quia. Quia natus est quo odit fugit omnis mollitia et. In repellendus ut facilis ut. Non aut illo optio quisquam laudantium. Qui blanditiis consequuntur asperiores. Qui pariatur reiciendis voluptatibus magni. Voluptatem reiciendis quis vitae eligendi. Iste qui dolor eum vitae nobis asperiores aut. Non perferendis ut hic id qui rerum ut. Error tenetur ut cum non quia natus quibusdam. Rerum facilis quibusdam sit occaecati quae ea. Ipsum nisi possimus sed similique autem quia quod.",
"excerpts": "Animi nihil beatae et. A et molestiae eum aut vitae consequuntur distinctio. Officiis sit praesentium fuga omnis ut autem nisi atque.",
"geo": "27.6406821;85.3203836",
"deleted_at": null,
"tags": [
{
"id": "1",
"title": "Mrs. Daniela Goldner Sr.",
},
{
"id": "6",
"title": "Raegan Quitzon",
},
{
"id": "10",
"title": "Blanca Hartmann",
}
],
"categories": [
{
"id": "7",
"title": "Mia Franecki",
"slug": "dolor",
"description": "Voluptatibus corporis eos adipisci odit laborum voluptatem. Repudiandae veniam ad facere id ipsam delectus. Fugiat quia non molestiae optio corrupti animi. Quaerat qui culpa distinctio dicta id voluptatum consectetur. Alias esse ut est sapiente quos et. In fugiat doloribus harum rerum eos neque quo. In rerum minus iure dolorem ex architecto nemo numquam. Aut quam qui error et non consequuntur officia pariatur. Sint ut labore ea excepturi quis officiis. Ipsam quisquam vitae sequi quos distinctio sit libero. Sed iure sed voluptates inventore debitis accusantium.",
"excerpts": "Quibusdam ut voluptas blanditiis sunt. Labore illo sit nihil et quod dolor eveniet. Nobis ullam ea adipisci.",
"deleted_at": null,
},
{
"id": "8",
"title": "Mrs. Libby Will DDS",
"slug": "vitae",
"description": "Et temporibus neque delectus facilis repellat quasi. Autem quibusdam sed quia delectus et dolorem facere. Dolorem suscipit omnis dolor voluptates asperiores atque eveniet. Laboriosam velit est omnis quia recusandae a. Assumenda nihil ut neque omnis voluptas magni repellendus. Ratione eum quam provident animi omnis tenetur nesciunt. Molestias et qui asperiores porro. Adipisci animi fugiat sunt dolores. Sit ad quis dolorum totam quia. Veritatis qui qui quidem quas quaerat ratione.",
"excerpts": "Est qui sit praesentium. Unde neque est quasi facilis aut aliquam voluptas. Alias molestias et in dicta omnis et laudantium.",
"deleted_at": null,
}
],
"landmarks": [],
"images": [
{
"id": "1",
"title": "Place Image 01",
"slug": "place01",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "2",
"title": "Place Image 02",
"slug": "place02",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "3",
"title": "Place Image 03",
"slug": "place03",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "4",
"title": "Landmark Image 01",
"slug": "landmark01",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "5",
"title": "Landmark Image 02",
"slug": "landmark02",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "6",
"title": "Landmark Image 03",
"slug": "landmark03",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "7",
"title": "Activity Image 01",
"slug": "activity01",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "8",
"title": "Activity Image 02",
"slug": "activity02",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "9",
"title": "Activity Image 03",
"slug": "activity03",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "10",
"title": "Itinerary Image 01",
"slug": "itinerary01",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "11",
"title": "Itinerary Image 02",
"slug": "itinerary02",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
},
{
"id": "12",
"title": "Itinerary Image 03",
"slug": "itinerary03",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quod iam a me expectare noli. Non igitur bene. Ego quoque, inquit, didicerim libentius si quid attuleris, quam te reprehenderim.",
"byline": "Prabidhee Innovations / Sample Images",
"deleted_at": null
}
],
"featured_image_url": "https://travoyay.com/gallery/place01.jpg"
}
}
答案 0 :(得分:0)
您需要创建数据和图像类。之后,只需将图像数组属性添加到Data类即可。
答案 1 :(得分:0)
您使用jsonParse
中的dart:convert
将JSON解析为Dart映射和列表
示例:
String myJsonSource = ....;
var jsonData = jsonParse(myJsonSource);
for (var imageData in jsonData["data"]["images"]) {
// imageData is a Map<String, dynamic>
// You can use the `imageData` values in any way you want,
// for example if you have an `Image` class, you can do:
var image = Image(
id: imageData["id"],
title: imageData["title"],
slug: imageData["slug"],
description: imageData["description"]);
// or
var image2 = Image.fromJson(imageData);
// do something with image.
}
您必须自己编写Image
类,也许是这样的:
class Image {
final String id;
final String title;
final String slug;
final String description;
Image({this.id, this.title, this.slug, this.description});
factory Image.fromJson(Map<String, Object> imageData) =>
Image(id: imageData["id"], title: imageData["title"],
slug: imageData["slug"], description: imageData["description"]);
}