如何使用PHP向JSON对象添加元素?

12

我有一个JSON数组,并且想要使用PHP将另一个值添加到其中。

在PHP中,最简单的方法是如何向这个数组添加ID和Name?

 [
   {
      "id":1,
      "name":"Charlie"
   },
   {
      "id":2,
      "name":"Brown"
   },
   {
      "id":3,
      "name":"Subitem",
      "children":[
         {
            "id":4,
            "name":"Alfa"
         },
         {
            "id":5,
            "name":"Bravo"
         }
      ]
   },
   {
      "id":8,
      "name":"James"
   }
]

https://dev59.com/-WQo5IYBdhLWcg3wR9nD - EJW
1个回答

31

只需使用json_decode()对其进行解码,

然后将数组追加到结果数组中。

再次使用json_encode()进行编码。

完整代码:

<?php
$arr = '[
   {
      "id":1,
      "name":"Charlie"
   },
   {
      "id":2,
      "name":"Brown"
   },
   {
      "id":3,
      "name":"Subitem",
      "children":[
         {
            "id":4,
            "name":"Alfa"
         },
         {
            "id":5,
            "name":"Bravo"
         }
      ]
   },
   {
      "id":8,
      "name":"James"
   }
]';
$arr = json_decode($arr, TRUE);
$arr[] = ['id' => '9999', 'name' => 'Name'];
$json = json_encode($arr);

echo '<pre>';
print_r($json);
echo '</pre>';

3
您的答案是正确的!但是,如果问题已经在SO上得到了回答,我们应该将其标记为重复,就像@phiter fernandes所做的那样。 - Bista

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接