【发布时间】:2018-08-22 04:43:02
【问题描述】:
好的...所以到目前为止以下工作:
// Open connection
$ch = curl_init();
// Make the curl call
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$head = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($head, true);
foreach($data['events'] as $key => $item) {
// $event_id = $data['events'][$key]['eventId'];
$event_id = $item['eventId'];
// $name = $data['events'][$key]['name'];
$name = $item['name'];
// $desc = $data['events'][$key]['description'];
$desc = $item['description'];
echo "ID: $event_id<br>
NAME: $name<br>
DESCRIPTION: $desc<br>
<br>";
}
但是,我正在尝试多种方法,但无法从同一 JSON 输出中的数组中捕获“primaryImage”和“categories”数据,而且我在语法上遇到了困难。以下是数据示例:
{
"eventId": 5183191,
"name": "The Rhythm Rockets - FREE",
"description": "Summer Concert Series - The Rhythm Rockets . .\nFREE. Look for a YELLOW balloon. Bring a chair. PLEASE BE ON TIME (6:00 PM!) TO SIT WITH THE GROUP. Allow time for street parking. Expect a crowd. Meetup at 6pm - Showtime is 7pm. Food, wine and beer will be on sale.\nIn case of inclement weather, concerts will be held indoors at the Lincoln Center, 935 Maple Avenue. For weather updates, call[masked] after 5:30 pm. If moved inside, there is no way we can sit together.",
"primaryImage": {
"smallImageUrl": "https://domainnamestorage.blob.core.windows.net/portalimages/portalimages/71021444-d72d-456c-a419-36b61ead5259.small.png",
"mediumImageUrl": "https://domainnamestorage.blob.core.windows.net/portalimages/portalimages/71021444-d72d-456c-a419-36b61ead5259.medium.png",
"largeImageUrl": "https://domainnamestorage.blob.core.windows.net/portalimages/portalimages/71021444-d72d-456c-a419-36b61ead5259.large.png"
},
"categories": [{
"categoryId": 2,
"parentCategoryId": null,
"name": "Performing Arts"
}, {
"categoryId": 12,
"parentCategoryId": null,
"name": "Food & Drink"
}, {
"categoryId": 17,
"parentCategoryId": 2,
"name": "Music"
}, {
"categoryId": 75,
"parentCategoryId": 12,
"name": "Drinks"
}, {
"categoryId": 100,
"parentCategoryId": 17,
"name": "Concerts"
}],
"location": {
"latitude": 41.792683,
"longitude": -88.011765,
"city": "Downers Grove",
"state": "IL",
"address": "1000 Grove St",
"country": "United States",
"locationName": "Fishel Park"
},
"instances": [{
"startDateTime": "2018-08-21T18:00:00Z",
"endDateTime": null,
"hasTime": true,
"allDay": false
}],
"price": {
"lowerPrice": null,
"upperPrice": null,
"free": false,
"description": null
},
"lastUpdatedDate": "2018-07-26T02:20:49.686Z",
"popularity": null,
"interest": 50,
"links": [{
"isSponsor": false,
"name": "Meetup",
"linkUrl": "https://www.meetup.com/Im-Not-Dead-Yet-50-plus/events/252406255/",
"logoUrl": null
}, {
"isSponsor": true,
"name": "I'm Not Dead Yet --- 50+ Meetup",
"linkUrl": "http://Meetup.com/Im-Not-Dead-Yet-50-plus",
"logoUrl": null
}, {
"isSponsor": true,
"name": "I'm Not Dead Yet --- 50+ Meetup",
"linkUrl": "http://Meetup.com/Im-Not-Dead-Yet-50-plus",
"logoUrl": null
}],
"previousEventIds": [],
"seriesStart": "2018-08-21T18:00:00Z",
"seriesEnd": null,
"url": "http://portal.domainname.com/m/FireVite#!/details/THE-RHYTHM-ROCKETS-FREE/5183191/2018-08-21T18",
"handPicked": false,
"customField": null,
"contact": {
"organization": null,
"name": null,
"email": null,
"phone": null
},
"media": null
}
我想将数据用作在“primaryImage”、“categories”、“location”等元素中找到的 PHP 字符串变量。
【问题讨论】: