Php json_encode将单个元素数组视为对象
这是我必须生成的jsonPhp json_encode将单个元素数组视为对象,php,arrays,json,object,encoding,Php,Arrays,Json,Object,Encoding,这是我必须生成的json { "email": "example@example.com", "campaign": { "campaignId": "p86zQ" }, "customFieldValues": [ { "customFieldId": "y8jnp", "value": ["18-29"] } ] } 如果我使用 $data = [ "email" => $_POST['mail'],
{
"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_编码($data)
值是一个对象,但它应该是一个包含单个元素的数组。不知何故,json_encode将其视为一个对象。我可以强制它将其视为一个包含单个元素的数组吗
提前谢谢
Adrian目前,您有一个包含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"]
}
]
}
目前,您有一个包含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"]
}
]
}
@treyBake它需要是
json_decode()
而不是json_encode()
添加真的没有用:(@AnantSingh--AlivetoDie-heh,我的bad@AdrianGier你试过用json解码($data,true)吗?我的错了吗?我刚用了\u encode
mistake@treyBake它需要是json\u decode()
notjson\u encode()
添加true不起作用:(@AnantSingh--AlivetoDie-heh,我的bad@AdrianGier你试过json解码($data,true)吗?我的不好-只是用了\u encode
,错了,一眼就能看出这么小的东西。+1一眼就能看出这么小的东西。+1