我有问题要将元素添加到json数组。
我想要的结构是:
[{"method":"edit","type":"1", "template":"3", "meta":{"title":"Tools", "descirption":"Tools"}}]
问题是我动态添加所有这些参数。
所以,让我说我有一个开始:
[{"method":"edit","type":"1", "template":"3"}]
如何添加整个“元”数组,请不要使用push(),因为我打印时会有另一种结构。
当我使用
时 $json = json_decode($json, true);
我希望:
array(
method' => edit,
'type' => 1,
'template' => 3,
'meta' => array('title' => '')
);
感谢您的建议!
答案 0 :(得分:0)
所以我假设你开始使用JSON。所以让我们解码到PHP(正如你所说的那样)
$json = json_decode($json, true);
现在我们应该$json['method']
等等。现在让我们定义$meta
$meta = array('title' => '');
并将其添加到$json
$json['meta'] = $meta;
echo json_encode($json);
答案 1 :(得分:0)
当您使用json_decode
在PHP中解码当前的JSON时,它将解码为包含一个元素或array[0]
的数组。因此,为了访问或任何对象,您需要首先指向0
索引。这样做:
$json = '[{"method":"edit","type":"1", "template":"3"}]';
$arr = json_decode($json);
$arr[0]->meta = array('title' => '');
$json = json_encode($arr);
var_dump($json);
//Result:
// string '[{"method":"edit","type":"1","template":"3","meta":{"title":""}}]' (length=65)