2016-08-12 93 views
0

我想知道是否可以在PHP中将json数组转换为单个json对象?将json数组转换为单个Json对象

我的意思是下面的JSON数组:

[{'x':'y','k':'l'}, {'q':'w', 'r':'t'}] 

可以转换为:

{'0':{'x':'y','k':'l'}, '1':{'q':'w', 'r':'t'}} 
+1

然后它将成为一维数组 –

+0

“你继续使用这个词,我不认为这意味着你认为它的意思。” [没有像“JSON对象”](http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/)。 –

回答

2

使用json_encodeJSON_FORCE_OBJECT参数

$json = "[{'x':'y','k':'l'}, {'q':'w', 'r':'t'}]"; 
$array = json_decode($json, true); // convert our JSON to a PHP array 
$result = json_encode($array, JSON_FORCE_OBJECT); // convert back to JSON as an object 

echo $result; // {"0":{"x":"y","k":"l"},"1":{"q":"w","r":"t"}} 

JSON_FORCE_OBJECT

当使用非关联数组时,输出一个对象而不是数组。当输出的接收者期待对象并且数组为空时特别有用。自PHP 5.3.0起可用。

0

请尝试下面的代码。

$array[] = array('x' => 'y','k' => '1'); 
$array[] = array('q' => 'w','r' => 't'); 
echo json_encode($array,JSON_FORCE_OBJECT);