我在PHP中需要这个结果:
$pass->setJSON('{
"formatVersion" : 1,
"description" : "title",
"coupon" : {
"primaryFields" : [
{
"key" : "offer",
"label" : "title",
"value" : "50%"
}
],
}
}');
我尝试使用数组构建它:
$jsonpost = array();
$jsonpost['formatVersion'] = '1';
$jsonpost['description'] = "test";
然后使用JSON_ENCODE进行转换:
$json = json_encode($jsonpost);
$pass->setJSON($json);
如何在PHP中设置多级数组(优惠券)?
答案 0 :(得分:2)
您需要使用:
$jsonpost['coupon']['primaryFields'][] = [
'key' => 'offer',
'label' => 'title',
'value' => '50%',
];
或者如果您使用PHP< 5.4你应该使用语法:
$jsonpost['coupon']['primaryFields'][] = array(
'key' => 'offer',
'label' => 'title',
'value' => '50%',
);
这是因为Json中的primaryFields
需要是一个数组,所以最后添加了[]
,而primaryFields
是coupon
对象的属性
答案 1 :(得分:0)
解析错误:语法错误,意外'['