我有一个非常奇怪的问题,我无法弄清楚原因。 情况很简单。我的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也被正确解析。
答案 0 :(得分:1)
好的,我刚刚发现了问题:
而不是
$accepted = $jsonObject ['friends_with_accepted'];
我删除了jsonObject和括号
之间的空格$accepted = $jsonObject['friends_with_accepted'];
我完全不知道,为什么它适用于其他属性,但这对我来说无关紧要。