Anonymous
Как читать данные JSON в PHP, не зная заранее ключей
Сообщение
Anonymous » 09 июл 2024, 00:22
У меня есть ответ JSON на PHP
Код: Выделить всё
{
"tlds": {
".art": {
"register": "16.99",
"transfer": "16.99",
"renew": "16.99",
"transfer_requires_epp_code": true,
"id_protection_supported": true
},
".icu": {
"register": "12.99",
"transfer": "12.99",
"renew": "12.99",
"transfer_requires_epp_code": true,
"id_protection_supported": true
},
".xyz": {
"register": "2.99",
"transfer": "13.99",
"renew": "13.99",
"transfer_requires_epp_code": true,
"id_protection_supported": true
},
".cyou": {
"register": "12.99",
"transfer": "12.99",
"renew": "12.99",
"transfer_requires_epp_code": true,
"id_protection_supported": true
},
".fr": {
"register": "12.99",
"transfer": "12.99",
"renew": "12.99",
"transfer_requires_epp_code": true,
"id_protection_supported": false
},
".be": {
"register": "7.99",
"transfer": "7.99",
"renew": "12.99",
"transfer_requires_epp_code": false,
"id_protection_supported": false
},
".ca": {
"register": "8.99",
"transfer": "8.99",
"renew": "9.99",
"transfer_requires_epp_code": true,
"id_protection_supported": false
},
".ch": {
"register": "8.99",
"transfer": null,
"renew": "13.99",
"transfer_requires_epp_code": true,
"id_protection_supported": true
}
},
"currency_code": "USD",
"message": "Successfully retrieved prices",
"fgt_id": "xxxxxxxxxxxxxxxxx"
}
И следующий код для отображения результата в php
Код: Выделить всё
$response = curl_exec($curl);
$decoded_json = json_decode($response, true);
echo "ExtensionRegisterTransferRenew";
foreach ($decoded_json['tlds'] as $key => $value) {
echo "".$decoded_json['tlds']."".$value['register']."".$value['transfer']."".$value['renew']."";
}
echo "";
Но это не работает. Это разрывает страницу. Я упомянул только 8 расширений доменных имен, но в реальном ответе их гораздо больше. Это означает, что мы должны рассматривать расширения доменных имен как неизвестные ключи. Как отобразить данные ответа, учитывая, что в домене есть много строк с неизвестным первым ключом?
Подробнее здесь:
https://stackoverflow.com/questions/787 ... beforehand
1720473771
Anonymous
У меня есть ответ JSON на PHP [code]{ "tlds": { ".art": { "register": "16.99", "transfer": "16.99", "renew": "16.99", "transfer_requires_epp_code": true, "id_protection_supported": true }, ".icu": { "register": "12.99", "transfer": "12.99", "renew": "12.99", "transfer_requires_epp_code": true, "id_protection_supported": true }, ".xyz": { "register": "2.99", "transfer": "13.99", "renew": "13.99", "transfer_requires_epp_code": true, "id_protection_supported": true }, ".cyou": { "register": "12.99", "transfer": "12.99", "renew": "12.99", "transfer_requires_epp_code": true, "id_protection_supported": true }, ".fr": { "register": "12.99", "transfer": "12.99", "renew": "12.99", "transfer_requires_epp_code": true, "id_protection_supported": false }, ".be": { "register": "7.99", "transfer": "7.99", "renew": "12.99", "transfer_requires_epp_code": false, "id_protection_supported": false }, ".ca": { "register": "8.99", "transfer": "8.99", "renew": "9.99", "transfer_requires_epp_code": true, "id_protection_supported": false }, ".ch": { "register": "8.99", "transfer": null, "renew": "13.99", "transfer_requires_epp_code": true, "id_protection_supported": true } }, "currency_code": "USD", "message": "Successfully retrieved prices", "fgt_id": "xxxxxxxxxxxxxxxxx" } [/code] И следующий код для отображения результата в php [code]$response = curl_exec($curl); $decoded_json = json_decode($response, true); echo "ExtensionRegisterTransferRenew"; foreach ($decoded_json['tlds'] as $key => $value) { echo "".$decoded_json['tlds']."".$value['register']."".$value['transfer']."".$value['renew'].""; } echo ""; [/code] Но это не работает. Это разрывает страницу. Я упомянул только 8 расширений доменных имен, но в реальном ответе их гораздо больше. Это означает, что мы должны рассматривать расширения доменных имен как неизвестные ключи. Как отобразить данные ответа, учитывая, что в домене есть много строк с неизвестным первым ключом? Подробнее здесь: [url]https://stackoverflow.com/questions/78722860/how-to-read-json-data-in-php-without-knowing-the-keys-beforehand[/url]