【发布时间】:2016-01-28 10:56:42
【问题描述】:
我编写了一个 php 代码,它应该打印一个 json 调用的响应。但我得到 NULL 输出。我已经检查了我的 json 调用在 restclient 上工作正常。
这是我的代码
<?php
$username = "user";
$password = "password";
$postData = array(
'username' => $username,
'password' => $password,
'msisdn' => "111111111"
);
$ch = curl_init('http://ip:<port>/xxx/yyy/zzz');
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
CURLOPT_POSTFIELDS => json_encode($postData)
));
// Send the request
$response = curl_exec($ch);
// Check for errors
if($response === FALSE){
die(curl_error($ch));
}
// Decode the response
$responseData = json_decode($response, TRUE);
// Print the date from the response
echo $responseData['published'];
var_dump($responseData);
?>
提前致谢。
【问题讨论】:
-
var_dump($response)看看你得到了什么回应。 -
你检查过你的 $response 是否真的包含 JSON 代码,如果是,它是否有效?
-
试试
print_r(json_last_error()); -
var_dump($response)给出 HTTP 状态 500,但有以下异常 -javax.servlet.ServletException: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "username" -
@Pemapmodder
print_r(json_last_error());给出了 4 作为输出,这是语法错误吗?