从Rest post API获取值

时间:2017-10-31 06:25:34

标签: php rest

成功时输出

  

的字符串(66)   “{” 状态 “:真,” 消息 “:” 成功 “ ”数据“:{ ”amountDue“: ” - 504.20“}}”

错误时输出

  

string(119)“{”status“:false,”message“:”获取时出错   完整订户配置文件:未找到订阅MPP服务器“}”

我应该如何在php中编写以从输出中获得应付金额?我是REST api的新手。有人能告诉我吗?谢谢

2 个答案:

答案 0 :(得分:0)

这是一个JSON编码的响应。使用json_decode()将字符串转换回数组,然后访问数组元素:

$output = '{"status":true,"message":"success","data":{"amountDue":"-504.20"}}';
$results = json_decode($output,true);

if($results["status"])
{
  echo "Success! Data: " . print_r($results,true);
}

答案 1 :(得分:0)

我假设您至少可以向端点发送适当的请求,并且您能够捕获响应。

您收到一个json字符串,必须解析,如果:

$response = '{"status":true,"message":"success","data":{"amountDue":"-504.20"}}';
$responseArray = json_decode($response, true);

然后你会得到一个responseArray作为关联数组(第二个参数),这样你就可以获得相应的金额

$amountDue = $responseArray['data']['amountDue'];

您还可以将json数据解析为StdClass,它将json中的所有字段转换为对象的属性。为此,放弃json_decode函数中的第二个参数

$resultObj = json_decode($response);
$amountDue = $resultObj->data['amountDue'];

全部取决于您的要求。 要阅读有关json_decode的更多信息,请尝试documentation