如何从JSON php获取价值

时间:2017-06-06 04:58:05

标签: php json web-services

这是我的JSON。

{
  "OUT_STAT": "200",
  "OUT_MESS": "SUKSES",
  "OUT_DATA": [{
      "id_doc_proj": "4"
    }]
}

我的问题是:
1.如何获得OUT_STAT值?
2.如何获取id_doc_proj值?

如果我的问题很愚蠢,我很抱歉,因为我是JSON的新人。

提前致谢。

更新

如果你说我重复Parsing JSON file with PHP,我很抱歉。我从那里尝试过代码但是我没有从我的回复中获得任何JSON。我不知道错误在哪里。如果你想提供帮助,这是我的php脚本。

<?php
    $file_path = "";
    $id_project = "16";
    $p_id_doc_proj = "50";
    $id_doc_type = "1";
    $id_user = "4";

    $url = $file_path.basename($_FILES['uploaded_file']['name']);

    if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $url)){
        $ws = "http://172.xx.x.xx:xxxx/rest/com/acc/uw/in/httprest/apponline/uploadtrough/UploadImage/$id_project/$p_id_doc_proj/$id_doc_type/$id_user/$url";

        $opts = array('http'=>array('header'=>'Content-type: application/x-www-form-urlencoded'));

        $context = stream_context_create($opts);

        $arrayLog=array();
        $data1 = file_get_contents($ws, false, $context);
        $result = json_decode($data1, true);;

        //$result = array("result" => "success");
    }else{
        $result = array("result" => "error");
    }

    echo json_encode($result);
?>

结果应该显示我的JSON,但它是null。任何答案都会对我有帮助。提前谢谢。

2 个答案:

答案 0 :(得分:1)

$data="{
  "OUT_STAT": "200",
  "OUT_MESS": "SUKSES",
  "OUT_DATA": [{
      "id_doc_proj": "4"
    }]
}";

$op=json_decode($data, true);

echo $op['OUT_STAT'];
echo $op['OUT_DATA'][0]['id_doc_proj'];

http://php.net/json_deocde。它将输出作为关联数组。然后,您可以像使用assoc数组一样使用结果。您也可以使用var_dump()来反省结构。

答案 1 :(得分:-1)

您可以使用json_decode将json转换为数组或对象:

$json = '{
  "OUT_STAT": "200",
  "OUT_MESS": "SUKSES",
  "OUT_DATA": [{
      "id_doc_proj": "4"
    }]
}';

$object = json_decode($json);
$out_stat = $object->OUT_STAT;
$id_doc_proj = $object->OUT_DATA[0]->id_doc_proj;