我有一个php
对象,我想将其转换为以下json
格式。
所有data
值都是php
对象的对象,格式为:
Array ( [0] => stdClass Object ( [id] => 2
[s1] => 1485
[name] => 1485
[credit] => ''
[caption] => ''
)
)
我正在尝试将credit, caption
等分组在child
下。此外,我无法以[
格式date
之后获得json
。
{
"mydata":
{
"name":Name,
"type":"default",
"date": [
{
"s1":"1485",
"name":"1485",
"child":
{
"credit":"",
"caption":""
}
}]
}
}
目前,我的代码如下:
foreach ($hits as $hit) {
$data->mydata->date->s1 = $hit->s1;
$data->mydata->date->name = $hit->name;
$data->mydata->date->credit = $hit->credit;
$data->mydata->date->caption = $hit->caption;
}
$a = json_encode($data);
答案 0 :(得分:0)
将$date->mydata->date
设置为数组,您将获得[]
为什么不制作更多嵌套结构?
答案 1 :(得分:0)
您正在查看的JSON格式显示日期是一个数组(括号是javascript中的数组符号),所以:
<?php
$var = array(
'mydata' => array(
'name' => 'Name',
'type' => 'default',
'date' => array(
array(
's1' => 1485,
'name' => '1485',
'child' => array(
'credit' => '',
'caption' => '',
),
),
),
),
);
print json_encode($var);
打印出来:
{
"mydata": {
"name": "Name",
"type": "default",
"date": [
{
"s1": 1485,
"name": "1485",
"child": {
"credit": "",
"caption": ""
}
}
]
}
}
无需在PHP中尝试添加stdClass
实例或类似内容。只需构建一个漂亮的干净数组,JSON编码将在必要时转换为对象属性和数组。