【问题标题】:How to put php array to json如何将php数组放入json
【发布时间】:2022-07-11 17:50:31
【问题描述】:

我有个问题,我有一个这样的 json 文件:

{
"code": [
    {
        "id": "0",
        "name": "Name0",
    },
    {
        "id": "2",
        "ime": "Name2"
    }
]
}

在 php 中,我想将数据插入到该 json 到数组命名代码中,但是当我插入它时,我得到了这个:

{
    "code": [
        {
            "id": "1",
            "name": "Name1",
        },
        {
            "id": "2",
            "ime": "Name2"
        }
    ],
    "0":[
        {
            "id": "3",
            "ime": "Name3"
        }
     ]
}

我用过 file_put_contents("myjson.json",$datatoinsert);

任何想法如何使用名称代码将数据插入数组,看起来像这样:

{
"code": [
    {
        "id": "0",
        "name": "Name1",
    },
    {
        "id": "2",
        "ime": "Name2"
    },
    {
        "id": "2",
        "ime": "Name3"
    }
]
}

【问题讨论】:

  • 你能显示你正在使用的代码吗
  • 是的,1# 读取文件 2# 使用 json-decode() 转换为 PHP 数据结构(对象数组) 3# 向数组添加新条目,4# 转换回 JSON使用json_encode() 5# 将该json字符串写回文件
  • BIG NOTE当您的示例数据没有意义时,这无济于事

标签: php html arrays json


【解决方案1】:

您首先需要使用json_encode 将您的PHP 数组序列化为json。

file_put_contents("myjson.json",json_encode($datatoinsert));

【讨论】:

  • OP 正在尝试将信息添加到 JSON,而不仅仅是将某些内容写回文件。我认为您错过了问题的主要部分
【解决方案2】:

小心,因为您还有另一层嵌套。首先,您有一个对象,其唯一的属性名为“code”,而该属性又是您所指的对象数组。所以你有两个可能的结果:要么将输入和输出简化为你正在编写的对象数组,要么调整你的代码来处理额外的级别。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    相关资源
    最近更新 更多