如何在php中访问JSON-Object的JSON属性?

时间:2014-02-12 21:40:39

标签: php json

我有一个非常奇怪的问题,我无法弄清楚原因。 情况很简单。我的Android应用程序将JSON数据上传到我服务器上的php脚本。现在我正在尝试解析数据。

这是传递给脚本的JSON-Array(通过httpPost.setEntity()):

  

[{ “friends_with_accepted”: “假”, “friends_with_synced”: “假”, “friends_with_second_id”: “5”, “friends_with_first_id”: “6”}]

这是php脚本:

<?php
// array for JSON response
$response = array();

$json = file_get_contents ('php://input');
$jsonArray = json_decode ($json, true);
foreach ($jsonArray as $jsonObject) {
    $firstId   = $jsonObject['friends_with_first_id'];
    $accepted = $jsonObject ['friends_with_accepted'];
    $secondId = $jsonObject ['friends_with_second_id'];
    $synced   = $jsonObject ['friends_with_synced'];

    echo "accepted: ".$accepted."synced: ".$synced;
} ?>

这是我从剧本中得到的回应:

  

接受:synced:false

为什么“同步”属性正确传递,而不是“已接受”属性? 我看不出差异。 Btw,firstId和secondId也被正确解析。

1 个答案:

答案 0 :(得分:1)

好的,我刚刚发现了问题:

而不是

$accepted = $jsonObject ['friends_with_accepted'];

我删除了jsonObject和括号

之间的空格
$accepted = $jsonObject['friends_with_accepted'];

我完全不知道,为什么它适用于其他属性,但这对我来说无关紧要。