替换数组符号

时间:2018-11-27 16:08:20

标签: php json

我正在向基于GO的API提交JSON请求,这需要发送空值,如下所示:

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

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

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

如何获取{}而不是[]符号。目前,我正在使用下面的技巧,以{}替换空数组值符号。

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

1 个答案:

答案 0 :(得分:0)

[]-是一个数组,但是{}-是一个对象,因此请更改它:

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

输出

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