Я ищу, чтобы извлечь конкретный ограниченный данные из файла json в Instagram и закодировать его в свой постоянно растущий файл json, объединяясь, где дублируются id
присутствуют или просто добавляют к нему иное. Я знаю, как отобразить интересующие меня поля, но не умею форматировать и кодировать json так, как я хочу, и не объединять.
<?php
foreach($instagram_array['data'] as $image){
$url = $image['images']['standard_resolution']['url'];
$date_shot = date('M d, Y', $image['created_time']);
$likes = $image['likes']['count'];
$id = $image['id'];
echo $date_shot;
echo $likes;
echo $url;
$echo $id;
}
?>
Я был бы очень доволен json, который выглядел так:
{
"url":"http://instagram.com/12345.jpg""id":"35228330387",
"created_time":"1424497894",
"likes":"20"}
но понятия не имею, как его переформатировать. У меня был некоторый успех в завершении кодирования и слияния ДО того, как я решил, что хочу избавиться от всего этого … так:
$user_array = array_merge_recursive($instagram_array, $user_array);
file_put_contents($user_id . '.json', json_encode($user_array, JSON_FORCE_OBJECT));
но он вышел из-под контроля довольно быстро, всего 100 изображений …
PS — я не вставил сюда ни одного файла json, так как это зверь, и я надеюсь, что foreach
цикл имеет необходимую информацию. Но в случае, если нет, вот ссылка на сайт:
Ваш вопрос не ясен. Я предполагаю, что вы знаете, как получить значения для переменных url, id, creation_time и лайков. Просто поместите их в массив и JSON кодировать массив.
$instaInfo = array();
$url = $image['images']['standard_resolution']['url'];
$date_shot = date('M d, Y', $image['created_time']);
$likes = $image['likes']['count'];
$id = $image['id'];
$instaInfo["url"] = $url;
$instaInfo["id"] = $id;
$instaInfo["created_time"] = $date_shot;
$instaInfo["likes"] = $likes;
$json_you_want = json_encode($instaInfo);
Надеюсь, поможет.
Других решений пока нет …