[英]Building a JSON encoded object
我正在向API提交数据。 它想要这样的格式:
{
"subscribers": [{
"email": "john@acme.com",
"time_zone": "America/Los_Angeles",
"custom_fields": {
"name": "John Doe"
}
}]
}
我正在像这样在PHP中构建JSON对象:
$subscriberInfo = [
'subscribers' => [
['email' => $email],
['custom_fields'] => [
['name' => "Bob"]
]
]
];
$encoded = json_encode($subscriberInfo);
API拒绝['custom_fields']
。
我究竟做错了什么?
正确的数组格式。 您使用了错误的数组格式。
$subscriberInfo = array(
'subscribers' => array(
array(
'email' => "s",
'custom_fields'=>
array('name' => "Bob")
)
)
);
API也应拒绝“电子邮件”字段。
它应该是;
$subscriberInfo = [
'subscribers' => [
[
'email' => $email,
'custom_fields' => [
'name' => "Bob"
]
]
]
];
$encoded = json_encode($subscriberInfo);
您的偏移量完全不正确。 在“ custom_field”之后,对象的第4行上不应包含“ [”:
$subscriberInfo = [
'subscribers' => [
['email' => $email],
['custom_fields' =>
['name' => "Bob"]
]
]
];
$encoded = json_encode($subscriberInfo);
...返回:
"subscribers":[{"email":""},{"custom_fields":{"name":"Bob"}}]}
试试这个,检查现场演示
$subscriberInfo = [
'subscribers' => [[
'email' => $email,
'custom_fields' =>
['name' => "Bob"]
]
]
];
试试这个例子:
<?php
$subscriberEx = array(
'subscribers' => array(
array('email' => "s",
'custom_fields'=>
array('name' => "Bob")
)
)
);
$subscriber_encoded = json_encode($subscriberEx);
echo $subscriber_encoded;
?>
输出:
{
"subscribers":[
{
"email":"s",
"custom_fields":{
"name":"Bob"
}
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.