【问题标题】:How can I convert this object to an array in PHP如何将此对象转换为 PHP 中的数组
【发布时间】:2014-03-12 18:04:18
【问题描述】:

作为参考,我正在使用 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"
},...

希望有人能指出我正确的方向,如果我了解如何取出每一位并使其成为数组中的索引,我想我可以从那里开始。因为我真的不需要一些返回的数据。

【问题讨论】:

  • 你看过json_decode吗? us1.php.net/json_decode这是关于SO stackoverflow.com/questions/5164404/json-decode-to-array的帖子
  • $array=json_decode($json, true); 会给你一个数组
  • json_decode 有效,我认为出于某种原因,只有当您尝试将 json 转换为数组或对象而不是相反时。
  • 呃...你发布的 JSON。为什么不能直接发送给客户并用 JS 解析?
  • 我试过了,但由于某种原因它正在发送所有空对象

标签: php jquery arrays json easypost


【解决方案1】:

你可以使用 JQuery serialize()

obj.serialize();

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

在那个 php 文件中使用 json_decode

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

【讨论】:

    猜你喜欢
    • 2022-01-14
    • 2015-02-05
    • 2021-01-28
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    相关资源
    最近更新 更多