【问题标题】:Updating a JSON array object with php使用 php 更新 JSON 数组对象
【发布时间】:2017-10-21 17:50:00
【问题描述】:

如何使用 php 动态更新以下 JSON 对象?

这是我的 json。

 {
    "1":
        {
            "value0":
                    {
                        "id":0,
                        "status":0,
                        "quantity":"110"
                    },
            "value1":
                    {
                        "id":1,
                        "status":1,
                        "quantity":"120"
                    }
        }
    "2":
        {
            value0":
                    {
                        "id":0,
                        "status":0,
                        "quantity":"132"
                    },
            "value1":
                    {
                        "id":1,
                        "status":1,
                        "quantity":"123"
                    },
        }
}

我想将 value0 的状态从键 1 更改为 1。 我怎样才能做到这一点?

【问题讨论】:

  • 使用 json_decode 将 JSON 转换为数组。在数组中进行更新。然后使用 json_encode 将数组转换为 JSON。
  • $new_data = json_decode($data,true); $new_data[1]["value0"]["status"]=1; $data = json_encode($new_data);回声 $data;
  • 哦,谢谢@manian,但是当我尝试 json_endcode 时,我的 json 更改为 {"1":{"value0":{"status":1}}}
  • 对不起,请检查我的以下答案。它将按您的预期工作
  • @JYoThI 哦,谢谢,我真的成功了。

标签: php arrays json laravel-5.3


【解决方案1】:

使用 json_decode()json_enocde()

$data = json_decode($data,true);  
$data["1"]["value0"]["status"]=1;   
$data = json_encode($data);
echo $data;

【讨论】:

  • 不应该是["1"]而不是[1],因为它是一个关联数组,并且[1]会触发第二个数组元素,即键“2”?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-16
  • 2012-03-16
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 2021-04-29
  • 2019-02-11
相关资源
最近更新 更多