0

我有一个具有以下结构的 JSON,但我只对entries节点内的数据感兴趣,因此我的 DTO 类的字段反映了所述节点内的标签。但正如预期的那样,在反序列化 JSON 时出现错误,因为 JMSserializer 需要一个对象,其中包含 JSON 中所有标签的字段。有没有办法可以忽略其他标签?实现此目的的正确方法是什么?

 {
"result": {
    "data": {
        "provider": "facebook",
        "pages": {
            "pagination": {
                "current_page": 1,
                "total_pages": 1,
                "entries_per_page": 250,
                "total_entries": 2,
                "order": {
                    "field": "date_creation",
                    "direction": "desc"
                }
            },
            "count": 2,
            "entries": [
                {
                    "user_token": "48d6b4a9-afd7-4ee7-b359-45bbf618ebe9",
                    "identity_token": "f5148587-3925-4fec-a214-3a339a023d2b",
                    "page_token": "c66c2d03-c9de-485b-9aea-445c405d44ab",
                    "date_creation": "Tue, 07 Apr 2015 10:37:52  0200",
                    "name": "Test Page",
                    "description": "This is the description of the page.",
                    "category": "Community",
                    "num_likes": 27,
                    "link": "https://www.facebook.com/test-page",
                    "thumbnailUrl": "https://graph.facebook.com/1234567890/picture?type=square",
                    "pictureUrl": "https://graph.facebook.com/1234567890/picture?type=large",
                    "source": {
                        "identifier": 1234567890,
                        "access_token": {
                            "key": "E797C0013811A1D1E35AD7EDD10FB99986DB664B0996C76ED9AE5E0A5151BBF9E797C0013811A1D1E35AD7EDD10FB99986DB664B0996C76ED9AE5E0A5151BBF9"
                        }
                    }
                },
                {
                    "user_token": "1f178827-c746-43e0-84d0-75cfd0513b1e",
                    "identity_token": "462fae22-f46b-4343-838c-1fc35113e92c",
                    "page_token": "886a4c73-fa1a-4261-839f-42672f42b842",
                    "date_creation": "Tue, 07 Apr 2015 10:37:52  0200",
                    "name": "Another Test Page",
                    "description": "This is the description of the page.",
                    "category": "Computers/internet website",
                    "num_likes": 2119,
                    "link": "https://www.facebook.com/another-test-page",
                    "thumbnailUrl": "https://graph.facebook.com/987654321/picture?type=square",
                    "pictureUrl": "https://graph.facebook.com/987654321/picture?type=large",
                    "source": {
                        "identifier": 987654321,
                        "access_token": {
                            "key": "A21C619251FB098250A15A69B20BEE6ED6835149CE1496D78A674F11B0920F9FA21C619251FB098250A15A69B20BEE6ED6835149CE1496D78A674F11B0920F9F"
                        }
                    }
                }
            ]
        }
    }
}
}
4

1 回答 1

0

用于json_decode()

$arr = json_decode($json_string, true);
$entries = $arr['result']['data']['pages']['entries'];
print_r($entries);

输出:

Array
(
    [0] => Array
        (
            [user_token] => 48d6b4a9-afd7-4ee7-b359-45bbf618ebe9
            [identity_token] => f5148587-3925-4fec-a214-3a339a023d2b
            [page_token] => c66c2d03-c9de-485b-9aea-445c405d44ab
            [date_creation] => Tue, 07 Apr 2015 10:37:52  0200
            [name] => Test Page
            [description] => This is the description of the page.
            [category] => Community
            [num_likes] => 27
            [link] => https://www.facebook.com/test-page
            [thumbnailUrl] => https://graph.facebook.com/1234567890/picture?type=square
            [pictureUrl] => https://graph.facebook.com/1234567890/picture?type=large
            [source] => Array
                (
                    [identifier] => 1234567890
                    [access_token] => Array
                        (
                            [key] => E797C0013811A1D1E35AD7EDD10FB99986DB664B0996C76ED9AE5E0A5151BBF9E797C0013811A1D1E35AD7EDD10FB99986DB664B0996C76ED9AE5E0A5151BBF9
                        )

                )

        )

    [1] => Array
        (
            [user_token] => 1f178827-c746-43e0-84d0-75cfd0513b1e
            [identity_token] => 462fae22-f46b-4343-838c-1fc35113e92c
            [page_token] => 886a4c73-fa1a-4261-839f-42672f42b842
            [date_creation] => Tue, 07 Apr 2015 10:37:52  0200
            [name] => Another Test Page
            [description] => This is the description of the page.
            [category] => Computers/internet website
            [num_likes] => 2119
            [link] => https://www.facebook.com/another-test-page
            [thumbnailUrl] => https://graph.facebook.com/987654321/picture?type=square
            [pictureUrl] => https://graph.facebook.com/987654321/picture?type=large
            [source] => Array
                (
                    [identifier] => 987654321
                    [access_token] => Array
                        (
                            [key] => A21C619251FB098250A15A69B20BEE6ED6835149CE1496D78A674F11B0920F9FA21C619251FB098250A15A69B20BEE6ED6835149CE1496D78A674F11B0920F9F
                        )

                )

        )

)
于 2016-03-08T10:56:07.573 回答