解析嵌套JSON数据结构?

问题描述 投票:1回答:2

我有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"
        }
    }
android ios json dart flutter
2个回答
0
投票

您需要创建数据和图像类。之后只需添加一个图像阵列属性数据类,仅此而已。


0
投票

您解析成JSON使用jsonParsedart:convert镖地图和列表

例:

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"]);
}
© www.soinside.com 2019 - 2024. All rights reserved.