Как я могу преобразовать этот объект в массив в PHP
Для справки я использую EasyPost (API доставки), чтобы звонки PHP проверяли стоимость доставки, а что нет. Их код предназначен для использования его для вывода данных обратно на страницу в виде объекта PHP, но я пытаюсь использовать jQuery ajax, чтобы получить от него данные JSON для использования в моем приложении ember.js.
Говоря с кем-то из EP (EasyPost) о том, почему я не могу заставить его правильно кодировать в JSON для своего приложения, он сказал мне, что то, что возвращается из EP, является объектом PHP, и что мне нужно будет создать массив, прежде чем json_encode будет Работа.
Ниже приведен пример ответа с их сайта...
{
"id": "prcl_WDv2VzHp",
"object": "Parcel",
"length": 20.2,
"width": 10.9,
"height": 5.0,
"predefined_package": null,
"weight": 65.9,
"created_at": "2013-04-22T05:40:57Z",
"updated_at": "2013-04-22T05:40:57Z"
}
Я недостаточно разбираюсь в PHP, чтобы понять, как мне построить массив из этого, чтобы потом иметь возможность json_encode.
Следует также отметить, что некоторые ответы имеют точки, которые выглядят следующим образом...
"from_address": {
"id": "adr_VgoLT6Ex",
"object": "Address",
"name": "Jon Calhoun",
"company": null,
"street1": "388 Townsend St",
"street2": "Apt 20",
"city": "San Francisco",
"state": "CA",
"zip": "94107",
"country": "US",
"phone": "4154567890",
"email": null,
"created_at": "2013-04-22T05:39:57Z",
"updated_at": "2013-04-22T05:39:57Z"
},
а также...
"rates": [{
"id": "rate_nyCb6ubX",
"object": "Rate",
"service": "FirstClassPackageInternationalService",
"rate": "9.50",
"carrier": "USPS",
"shipment_id": "shp_vN9h7XLn",
"created_at": "2013-04-22T05:40:57Z",
"updated_at": "2013-04-22T05:40:57Z"
},...
Надеясь, что кто-то может указать мне правильное направление, если я понимаю, как вывести каждый бит и сделать его индексом в массиве, я думаю, что я могу пойти оттуда. Поскольку мне действительно не нужны некоторые данные, которые все равно возвращаются.
1 ответ
Вы могли бы использовать JQuery serialize()
obj.serialize();
и разместите его в php файле на вашем сервере
В этом PHP-файле использовать json_decode
$arr = json_decode($_POST['receivedData'],true);