如何在php中打印json响应

时间:2011-05-25 10:13:20

标签: php cakephp json

我有来自远程站点的json对象。当我vardump json响应时。输出看起来像这样..

object(GSResponse)#111 (7) {
  ["errorCode":"GSResponse":private]=>
  int(0)
  ["errorMessage":"GSResponse":private]=>
  NULL
  ["rawData":"GSResponse":private]=>
  string(1808) "{
  "UID": "*********",
  }
  ]
  }

如何使用php访问json响应中的 rawData 参数。是否有任何函数将其转换为php数组。

我感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

已修改 - 已更新以包含评论

答案

让我们说$ gsresponsevar是gsresponse类型的对象,如下所定义。

解码json响应 -

$myjsonresponse= json_decode($gsresponsevar->getResponseText()) ;

另外检索var

echo $gsresponsevar->getString('uid');

文档

摘自:http://developers.gigya.com/030_Server_SDKs/PHP/Reference/Class_GSResponse

string  getString(string $key [, string $defaultValue])

答案 1 :(得分:1)

这是通用的“无框架”原生方式

您可以使用JSON_decode解码JSON字符串

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

$dataObject = json_decode($json);
$dataArray = json_decode($json, true);

第二个参数定义是否获得一个对象(可通过$ dataObject->键访问)或一个关联数组(可通过$ dataArray ['key']访问)。

请注意API中提到的常见错误“示例#3常见错误使用json_decode()”

这是Gigya-API使用方式

有关此

的详细信息,请参阅Jason的答案
$responseObject->getString('key');

答案 2 :(得分:-1)

你可以使用json_decode($ json_array);

要打印结果数组,您可以编写var_dump(json_decode($json_array));

Thankx。