【问题标题】:PHP edit key value name in a json file [closed]PHP在json文件中编辑键值名称[关闭]
【发布时间】:2021-08-18 23:19:36
【问题描述】:

我的 JSON 如下:

{
    "test": {
        "ASSET_NAME": "testq",
        "ENVIRONMENT": "testq",
        "APPLICATION": "testq"
    },
    "prod": {
        "ASSET_NAME": "prod1",
        "ENVIRONMENT": "prod1",
        "APPLICATION": "#N/A"
    },
    "env": {
        "ASSET_NAME": "prod2",
        "ENVIRONMENT": "Produzione",
        "APPLICATION": "prod"
    }
}

我需要一个 php 脚本来更改“INFO”中的“test”、“prod”、“env”,按照所需的 json 输出:

{
    "info": {
        "ASSET_NAME": "testq",
        "ENVIRONMENT": "testq",
        "APPLICATION": "testq"
    },
    "info": {
        "ASSET_NAME": "prod1",
        "ENVIRONMENT": "prod1",
        "APPLICATION": "#N/A"
    },
    "info": {
        "ASSET_NAME": "prod2",
        "ENVIRONMENT": "Produzione",
        "APPLICATION": "prod"
    }
}

并将其保存在一个新的 json 文件中。

有可能吗?

抱歉复制粘贴忘记了,

我的输出 json 将是: enter image description here

你能告诉我如何在这个中转换json源吗?

谢谢

谢谢

【问题讨论】:

  • 为什么要让“信息”成为 3 组不同数据的关键?很难以编程方式获得您想要的那个。目的是什么?
  • @prieber 此评论对 OP 有何帮助?顺便说一句:这是不可能的,因为键必须是唯一的
  • 您的问题似乎有问题。一个不能有重复的键。请参考 JSON 结构并查找通用问题,例如“如何在 php 中编辑 JSON”
  • ...我不是想帮忙......我给出了一个无用的答案... 不要 12 岁。也不要忘记我们在这里只是为了帮助人们@prieber

标签: php arrays json save edit


【解决方案1】:

其实不,不是真的。键名必须是唯一的,否则它们将被覆盖。在您想要的结果中,如果您尝试获取 $json->info 的值,它只会返回最后一组。你是这个意思吗?

{
    "info" : [{
     "test": {
        "ASSET_NAME": "testq",
        "ENVIRONMENT": "testq",
        "APPLICATION": "testq"
    },
    "prod": {
        "ASSET_NAME": "prod1",
        "ENVIRONMENT": "prod1",
        "APPLICATION": "#N/A"
    },
    "env": {
        "ASSET_NAME": "prod2",
        "ENVIRONMENT": "Produzione",
        "APPLICATION": "prod"
    }]
}

【讨论】:

    猜你喜欢
    • 2014-12-19
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2013-09-01
    • 2014-04-03
    • 1970-01-01
    相关资源
    最近更新 更多