【问题标题】:Replace array symbol [duplicate]替换数组符号[重复]
【发布时间】:2019-04-29 10:20:52
【问题描述】:

我正在向基于 GO 的 API 提交 JSON 请求,该请求需要发送如下 sn-p 的空值:

...
"Data": {
    "values": {}
},
...

我正在使用 json_enocde($mydata) 将 PHP 数组转换为 JSON,其返回值如下:

<?php
$mydata = array(
  'Data' => array(
          'values' => array()
       )
);
$mydata = json_encode($mydata);
//outputs
"Data": {
    "values": []
},

我怎样才能得到{} 而不是[] 符号。现在我正在使用下面的 hack 将空数组值符号替换为 {}

$mydata = str_replace('[]','{}',$mydata);

【问题讨论】:

    标签: php json


    【解决方案1】:

    [] - 是一个数组,但 {} - 是一个对象,所以改变它:

    <?php
    $mydata = array(
      'Data' => array(
              'values' => new \stdClass()
           )
    );
    $mydata = json_encode($mydata);
    echo $mydata;
    

    输出

    {"Data":{"values":{}}}
    

    【讨论】:

      猜你喜欢
      • 2021-02-02
      • 1970-01-01
      • 2019-01-14
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      相关资源
      最近更新 更多