【发布时间】:2017-08-07 16:40:45
【问题描述】:
假设我有一个如下所示的 JSON 对象:
{"tag":[{"Item1":"Required"},{"Item2":"Not Required"},{"Item3":"Maybe Required"}]}
我将这个从 volley 发布到接收 JSON 对象的服务器,如下所示:
$json = file_get_contents('php://input');
假设我想检查是否收到了 item2?我该怎么做?
我试过了:
<?php
$json = file_get_contents('php://input');// Assuming $json looks like: {"tag":[{"Item1":"Required"},{"Item2":"Not Required"},{"Item3":"Maybe Required"}]}
$temp=$json["tag"];// assuming $temp would look like: [{"Item1":"Required"},{"Item2":"Not Required"},{"Item3":"Maybe Required"}]
$temp1=$temp[1]["Item2"];//assuming $temp1 looks like: "Not Required"
$data=array();
$temp2=array('Status'=>$temp1);// assuming $temp2 looks like ["Status"=>"Not Required"]
array_push($data,$temp2);
$response=array('phpStatus'=>$data);// assuming $response looks like: ["phpStatus"=>["Status"=>"Not Required"]]
echo json_encode($response);// Assuming encoded version should look like: {"phpStatus":[{"Status":"Not Required"}]}
?>
注意:假定的编码 json 正是我想在 android 中接收的!
{"phpStatus":[{"Status":"Not Required"}]}
【问题讨论】:
-
如果你想使用它,你需要打电话给
json_decode,否则你就在正确的轨道上 -
@iainn 我不能直接操作收到的 JSON 吗?
-
不,它只是一个字符串,直到你解码它。
file_get_contents将从请求中检索一个字符串,然后调用json_decode将该字符串转换为 PHP 数据结构。见php.net/manual/en/function.json-decode.php -
@iainn 当然我正在尝试!
标签: php android json android-volley