多个JSON根元素| JSON编码

时间:2016-01-05 15:18:19

标签: php arrays json

我正在创建一个数组,其中有几个参数括在for循环中,如下所示:

for ($x = 1; $x <= 2; $x++) {

        $jsonarray=array(

        'id' => $x, 
        'title' => $title,
        'url' => $url,

    );

        echo json_encode($jsonarray, JSON_UNESCAPED_SLASHES);

    }

上面的代码将创建5个数组,并按照以下内容将它们编码为JSON:

{  
   "id":1,
   "title":"Test Title",
   "url":"http://test.com/"
}{  
   "id":2,
   "title":"Test Title 2",
   "url":"http://test2.com",
}

上面的JSON输出不是有效的JSON,因为需要将对象与数组[]分开。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

在循环之后对数组进行编码,并将值添加到数组中,例如

for ($x = 1; $x <= 2; $x++) {

    $jsonarray[] = array(
                     'id' => $x, 
                     'title' => $title,
                     'url' => $url,
                   );
}

echo json_encode($jsonarray, JSON_UNESCAPED_SLASHES);

答案 1 :(得分:0)

在尝试将其转换为JSON字符串之前,您应该构建完整的数组。不是你在做,而是单独输出每一次出现。

所以这样做

$0 // first element
$1 // second element
$0.0 // value of first element
$0.1 // frequency of first element

答案 2 :(得分:-1)

改为创建一个数组

for ($x = 1; $x <= 2; $x++) {

$jsonarray[] = array(
                 'id' => $x, 
                 'title' => $title,
                 'url' => $url,
               );
}

echo json_encode($jsonarray, JSON_UNESCAPED_SLASHES);