【问题标题】:PHP multidimensional array into JSON object without indexes showingPHP多维数组转换为JSON对象而不显示索引
【发布时间】:2021-12-15 10:59:55
【问题描述】:

我有来自转发器的表单输出,如下所示:

array:2 [ 0 => array:1 ["participant_name" => "John" ], 0 => array:1 ["participant_name" => "Jane" ]]

我需要让这个 JSON 对象看起来像这样:

{{"participant_name":"John"},{"participant_name":"Jane"}}

到目前为止我试过$participantsJson = json_encode( array_values($participants) , JSON_FORCE_OBJECT); 但我总是得到这个形状

 {"0":{"participant_name":"John"},"1":{"participant_name":"Jane"}}

如何摆脱那些索引?

【问题讨论】:

    标签: php arrays json


    【解决方案1】:

    您的尝试很复杂,请使用直接方法:

    <?php
    $input = [
      ["participant_name" => "John" ], 
      ["participant_name" => "Jane" ],
    ];
    $output = json_encode($input);
    var_dump($output);
    

    输出是:

    string(57) "[{"participant_name":"John"},{"participant_name":"Jane"}]"
    

    并不是说输出是一个以 JSON 格式编码的 数组...

    您的问题演示了一个编码的 object,但这是无效的 JSON。原因是对象内部的属性需要有一个 name ,这就是对象的定义方式。您不能让一个对象持有没有名称的成员(您在问题中称为“索引”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      相关资源
      最近更新 更多