Я пытался тренироваться, как прокручивать и выводить содержимое json-файла, где имена полей начинаются с «$» и продолжают получать Undefined переменное сообщение ошибки
Вот пример пример JSON файла (берется из https://mixpanel.com/help/reference/webhooks):
[
{
"$distinct_id":"13b20239a29335",
"$properties":{
"$region":"California",
"$email":"[email protected]",
"$last_name":"Bovik",
"$created":"2012-11-20T15:26:16",
"$country_code":"US",
"$first_name":"Harry",
"Referring Domain":"news.ycombinator.com",
"$city":"Los Angeles",
"Last Seen":"2012-11-20T15:26:17",
"Referring URL":"http://news.ycombinator.com/",
"$last_seen":"2012-11-20T15:26:19",
}
},
{
"$distinct_id":"13a00df8730412",
"$properties":{
"$region":"California",
"$email":"[email protected]",
"$last_name":"Lytics",
"$created":"2012-11-20T15:25:38",
"$country_code":"US",
"$first_name":"Anna",
"Referring Domain":"www.quora.com",
"$city":"Mountain View",
"Last Seen":"2012-11-20T15:25:39",
"Referring URL":"http://www.quora.com/What-...",
"$last_seen":"2012-11-20T15:25:42",
}
}
]
Я проверяю со статической строкой, просто чтобы попробовать и все заработало. Вот мой тестовый код ...
<?php
$input = '[{"$distinct_id":"13b20239a29335","$properties":"dddd"}]';
$jsonObj = json_decode($input, true);
foreach ($jsonObj as $item) {
foreach ($item as $rec) {
echo '<br>';
$my_id = $rec->$distinct_id;
echo($my_id);
$my_id = $rec->$properties;
echo($my_id);
}
echo '<br>';
}
?>
Любая помощь будет принята с благодарностью.
Noob!
UPDATE: Муса привел этот пример, который работает на одном JSON уровня: Еогеаспа ($ jsonObj в $ п) {
echo '<br>';
$my_id = $item->{'$distinct_id'};
echo($my_id);
$my_id = $item->{'$properties'};
echo($my_id);
echo '<br>';
}
Как это может затем быть адаптировано для чтения и вывод все элементы большого многоуровневого json-файла?
Спасибо за это Муса. Очень признателен. Как я мог бы затем прокручивать более глубокие элементы из основного json-файла? – user2525060
@ пользователь2525060 обновлен – Musa