替换数组符号[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

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

...
"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个回答
0
投票

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

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

产量

{"Data":{"values":{}}}
© www.soinside.com 2019 - 2024. All rights reserved.