php - json_encode 将单个元素数组视为对象
问题描述
这是我必须生成的 json
{
"email": "example@example.com",
"campaign": {
"campaignId": "p86zQ"
},
"customFieldValues": [
{
"customFieldId": "y8jnp",
"value": ["18-29"]
}
]
}
如果我使用
$data = [
"email" => $_POST['mail'],
"campaign" => [
"campaignId" => "4JIXJ"
],
"customFieldValues" => [
"customFieldId" => "y8jnp",
"value" => ["18-29"]
]
];
我做 json_encode($data)
value 是一个对象,但它应该是一个具有单个元素的数组。不知何故 json_encode 将其视为一个对象。我可以强制它将其视为具有单个元素的数组吗?
提前致谢
阿德里安
解决方案
目前,您有一个包含 2 个元素的数组,而不是包含一个子数组的单个元素的数组。为了获取第一节中的 json,您需要添加另一个数组级别。
$data = [
"email" => $_POST['mail'],
"campaign" => [
"campaignId" => "4JIXJ"
],
"customFieldValues" => [
[
"customFieldId" => "y8jnp",
"value" => ["18-29"]
]
]
];
这会给你这个:
{
"email": null,
"campaign": {
"campaignId": "4JIXJ"
},
"customFieldValues": [
{
"customFieldId": "y8jnp",
"value": ["18-29"]
}
]
}
推荐阅读
- php - 如何将时间添加到 PHP 的原始时间
- python - pandas:如何在一列上合并具有相同列名的多个数据框,并具有重复的值?
- ios - 如何在 iOS 上的 Swift 中以编程方式获取 UDID
- c# - 复合表存储查询
- javascript - 更新 PartialView 只工作一次
- php - PHP 访问由其他命名空间元素生成的对象
- reactjs - 反应应用程序的生产版本缺少几个文件夹
- applescript - Applescript 将附件从邮件保存到外部高清
- powershell - 点源导致 PS 控制台忽略 PS 脚本文件中的更改
- javascript - 如何从比较数组创建数组?