Как я могу преобразовать этот объект в массив в 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);
Другие вопросы по тегам