JSON Decode只解码部分JSON字符串?

时间:2014-09-09 14:29:03

标签: php json curl

当我尝试将JSON字符串解码为数组时,它只解码整个字符串中的一个条目。

    public function GetAllCommunities() {
        $json_url = "URL";
        $json_name = "NAME";

        $returnArray = null;

        $curl_init = curl_init();
        curl_setopt($curl_init, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl_init, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl_init, CURLOPT_URL, $json_url);
        $result = curl_exec($curl_init);
        curl_close($curl_init);

        //print_r($result);

        $jsonArray2 = json_decode($result, true);

        print_r($jsonArray2);
    }

当我print_r result时,我会获得所有数据,但当我解码json_decode($result, true);时,我只会从整个Feed中获得1个条目。

知道为什么吗?这是否意味着Feed中存在错误?

我在那里嵌套了JSON,并且我使用它来检查它们的正确性:http://json.parser.online.fr/

感谢。

1 个答案:

答案 0 :(得分:4)

您的JSON格式不正确。您在同一级别上有多个具有相同名称的对象(Comnunity)。

而不是

[
    {
        Comunity: ... ,
        Comunity: ... ,
        Comunity: ... ,
    }
]

执行:

[
    {
        Comunity: ... 
    },
    {
        Comunity: ...
    },
    {
        Comunity: ...
    }
]