在php中解析json字符串

在php中解析json字符串,php,json,web-services,rest,Php,Json,Web Services,Rest,我正在查询一个RESTfulWeb服务(clickbank),我可以发送和接收我的请求,但是(令人尴尬的是),我很难解析结果以使其可读。当我选择XML作为返回格式时,我得到的是一个97000字符长的字符串(yay var_dump)。。。。里面没有空格。。。并且没有分隔符(例如“,”或“/”,甚至“”)来分隔这些值。因此,我选择JSON作为返回格式。我已经能够使用json_decode解码这个大力神字符串,并且我已经破译了我得到的是一个100个对象的数组,每个对象有30个变量(ala get_o

我正在查询一个RESTfulWeb服务(clickbank),我可以发送和接收我的请求,但是(令人尴尬的是),我很难解析结果以使其可读。当我选择XML作为返回格式时,我得到的是一个97000字符长的字符串(yay var_dump)。。。。里面没有空格。。。并且没有分隔符(例如“,”或“/”,甚至“”)来分隔这些值。因此,我选择JSON作为返回格式。我已经能够使用json_decode解码这个大力神字符串,并且我已经破译了我得到的是一个100个对象的数组,每个对象有30个变量(ala get_object_vars),但是其中一些变量本身就是对象数组。请原谅我的无知,但我有什么想法可以解析它,使它在可读的领域?顺便说一句,我目前正在尝试使用PHP(因为这是我工作的商店所使用的)。我在使用EclipsePDT时有点迟钝,所以欢迎您提出任何建议。。。。 另外,我有下面的函数,它有助于确定干草正在发生什么,但它仍然不能像我所希望的那样将事物分开

function getInfo($datum) {  
    switch (gettype($datum)) {

        case "object":
            $GLOBALS['counts']++;
            //var_dump($datum);
            echo "<hr>";
            //$members = get_object_vars($datum);
            //getInfo($members);
            break;
        case "array":
                foreach($datum as $v) {
                    getInfo($v);
                }
                //var_dump($datum);
                break;
        default:
            echo "<div>$datum</div>";                
    }
}
函数getInfo($datum){
开关(gettype($datum)){
案例“对象”:
$GLOBALS['counts']++;
//var_dump($datum);
回声“
”; //$members=获取对象变量($datum); //getInfo($成员); 打破 案例“数组”: foreach($v为基准){ 获取信息(五美元); } //var_dump($datum); 打破 违约: 回显“$datum”; } }

这是一个附带的问题:在我的代码段的底部(参见switch语句的默认条件),$datum是数组的一部分(在这里递归的最后一个深度将其传递回函数之前)。有没有一种方法可以详细说明echo语句,从而显示出它的关键所在?我试图用最简单的方式来表达这个词,但是如果这个值(可能是一个字符串)是关联数组的某个索引的值,但我不必指定数组的任何可能名称?(在数组中思考,但不使用$haystack参数)

997000个字符长的字符串
这不是来自web服务的响应太长吗?好的
97000个字符长的字符串
这不是来自web服务的响应太长吗?抱歉,我不介意,但是如果web服务返回那么长的字符串作为API响应,那么就有问题了。我永远不会使用apicouldn你不是将数组键存储为一个单独的变量并将其传入吗?它是一个非常长的JSON编码字符串,返回的每个元素/对象都有一个长的描述,返回的字段有长的描述,由于它是用户信息,用户输入的一些信息很长(想想地址之类的)@ambe5960,打得好,睡眠不足让我很难受