【问题标题】:PHP Modify JSON file with foreachPHP 使用 foreach 修改 JSON 文件
【发布时间】:2021-10-27 06:28:28
【问题描述】:

我有一个 json 文件:

$json='[{"Email":"myemail1@domain.com","Name":"company 1","Tel1":"xx-xx-xx","Adresse":"XXXXXX"},{"Email":"myemail2@domain.com","Name":"Company 2","Tel1":"xx-xx-xx","Adresse":"XXXXXX"}]';

我的表单在变量中发布数据 vars="fname"=>"Ameur","lname"=>"KHIL" "fname"=>"Marak","lname"=>"Cristo"

我喜欢在我的 json 内容之间插入变量以获得最终的 json,如下所示:

$result='[{"Email":"myemail1@domain.com","Name":"company 1","vars":{"fname":"Ameur","lname":"KHIL","Tel1":"xx-xx-xx","Adresse":"XXXXXX"}},{"Email":"myemail2@domain.com","Name":"Company 2","vars":{"fname":"Marak","lname":"Cristo","Tel1":"xx-xx-xx","Adresse":"XXXXXX"}}]';

【问题讨论】:

标签: php json insert decode


【解决方案1】:

为此,您可以使用 json_decode() 将 JSON-String 解析为 PHP-Object。然后,您只需为给定的表单值设置一个新值 vars。

解析 JSON 字符串

$json = json_decode('[{"Email":"myemail1@domain.com","Name":"company 1","Tel1":"xx-xx-xx","Adresse":"XXXXXX"},{"Email":"myemail2@domain.com","Name":"Company 2","Tel1":"xx-xx-xx","Adresse":"XXXXXX"}]');

添加新的 vars 值并删除其他值。这仅适用于第一个条目,但您可以对另一个条目执行相同操作,甚至可以遍历数组以获取多个条目

$json[0]->vars = ["fname" => "Marak", "lname" => "Cristo", "Tel1" => $json[0]->Tel1,"Adresse" => $json[0]->Adresse];

unset($json[0]->Tel1);
unset($json[0]->Adresse);

并以 JSON 字符串形式获取结果

$result = json_encode($json);

【讨论】:

    猜你喜欢
    • 2021-12-05
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    相关资源
    最近更新 更多