如何在PHP中将此对象转换为数组

时间:2014-03-12 18:04:19

标签: php jquery arrays json easypost

作为参考,我使用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 个答案:

答案 0 :(得分:0)

您可以使用JQuery serialize()

obj.serialize();

并将其发布到服务器中的php文件

在该php文件中使用json_decode

$arr = json_decode($_POST['receivedData'],true);