Это мой код php-файла, в котором я получаю данные из катапи. мне нужен был конкретный формат для datatable
$xml=file_get_contents('https://thecatapi.com/api/images/get?format=xml&results_per_page=3');
$xml = new SimpleXMLElement($xml);
$datas=array();
$datas['rows'] = $xml->data->images;
echo json_encode($datas, true);
Выход:
{"total":50,
"rows":{"image":[
{"url":"https://thecatapi.com/api/images/get.php?id=e0i",
"id":"e0i",
"source_url":"http://thecatapi.com/?id=e0i"
},
{"url":"https://thecatapi.com/api/images/get.php?id=MTYwNDE0MQ",
"id":"MTYwNDE0MQ",
"source_url":"http://thecatapi.com/?id=MTYwNDE0MQ"
},{
"url":"https://thecatapi.com/api/images/get.php?id=bon",
"id":"bon",
"source_url":"http://thecatapi.com/?id=bon"
}
]
}
}
но я хотел в этой форме json
{
"total": 800,
"rows": [
{
"url": 0,
"id": "Item 0",
"source_url": "$0"
},
{
"url": 0,
"id": "Item 0",
"source_url": "$0"
},
{
"url": 0,
"id": "Item 0",
"source_url": "$0"
},
Поскольку ваш требуемый результат не похож на результат, с которого вы начинаете, мы будем изо всех сил стараться здесь помочь.
Пожалуйста, помните, мы не ясновидящие. Мы можем комментировать только то, что вы нам показываете, если это не имеет смысла, и вы не получите никаких ответов.
@NobbyNobbs нет, сэр, я не хочу просто приукрашивать его, я весь день пытался отформатировать данные в этом формате, потому что таблица данных начальной загрузки не принимает другой формат, и я не являюсь экспертом в области данных начальной загрузки
В вашем примере я хочу вы, кажется, удалили почти все. Вот почему я не понимаю ваш пример того, что вы хотите от этого процесса
сэр, это json-вывод с этого URL-адреса issues.wenzhixin.net.cn/examples/bootstrap_table/data
Это хорошо, что некоторые умные люди просто понижают вопросы новых пользователей, когда они не могут дать ответ, они просто понижают оценку вопроса.
здесь много проблем, но для начала второй параметр в json_encode не должен быть логическим, а должен быть параметрами. Скорее попробуйте что-нибудь JSON_PRETTY_PRINT + JSON_UNESCAPED_SLASHES + JSON_UNESCAPED_UNICODE. Кроме того, вы кодируете неправильный элемент.






Просто придумал альтернативное решение. Измените эту строку:
$datas['rows'] = $xml->data->images;
к этому:
$datas['rows'] = $xml->data->images->image;
в противном случае вы все еще можете сделать это
Расшифруйте строку json в объект и измените ее в соответствии с вашими потребностями.
$stdClassObject = json_decode($jsonData);
$stdClassObject->rows = $stdClassObject->rows->image;
$newJsonData = json_encode($stdClassObject, JSON_PRETTY_PRINT);
echo '<pre>';
print_r($newJsonData);
echo '</pre>';
Новый вывод:
{
"total": 50,
"rows": [
{
"url": "https://thecatapi.com/api/images/get.php?id=e0i",
"id": "e0i",
"source_url": "http://thecatapi.com/?id=e0i"
},
{
"url": "https://thecatapi.com/api/images/get.php?id=MTYwNDE0MQ",
"id": "MTYwNDE0MQ",
"source_url": "http://thecatapi.com/?id=MTYwNDE0MQ"
},
{
"url": "https://thecatapi.com/api/images/get.php?id=bon",
"id": "bon",
"source_url": "http://thecatapi.com/?id=bon"
}
]
}
Что ты имеешь в виду? Вы хотите просто приукрасить json? если да, просто используйте опцию JSON_PRETTY_PRINT