在PHP中创建JSON数组
我需要用PHP创建这个JSON数组。如果我在PHP中创建JSON数组,php,arrays,json,Php,Arrays,Json,我需要用PHP创建这个JSON数组。如果我echo {"SUCCESS":[{"message":"Your Accout Info","AccoutInfo":{"credit":"$56.98USD","mail":"mail@me.com","currency":"USD"}}],"apiversion":"2.3.1"} 上面的回音代码按照我的要求工作 下面的代码无法构建阵列: header('Content-type:application/json;charset=utf
echo
{"SUCCESS":[{"message":"Your Accout Info","AccoutInfo":{"credit":"$56.98USD","mail":"mail@me.com","currency":"USD"}}],"apiversion":"2.3.1"}
上面的回音代码按照我的要求工作
下面的代码无法构建阵列:
header('Content-type:application/json;charset=utf-8');
$data[SUCCESS] = array(
'credit' => '$56.98USD',
'mail' => 'mail@me.com',
'message' => 'Your Accout Info',
'currency' => 'USD',
'apiversion' => '2.3.1'
);
echo json_encode($data);
我错过了什么?
谢谢
更新: 我已将代码更新为:
$data = array('SUCCESS' => array(
'message' => 'Your Accout Info',
'AccoutInfo' => array(
'credit' => '$56.98USD',
'mail' => 'me@mail.com',
'currency' => 'USD'),
'apiversion' => '2.3.1')
);
现在我得到了这个结果:
{"SUCCESS":{"message":"Your Accout Info","AccoutInfo":{"credit":"$56.98USD","mail":"me@mail.com","currency":"USD"},"apiversion":"2.3.1"}}
{"SUCCESS":[{"message":"Your Accout Info","AccoutInfo":{"credit":"$56.98USD","mail":"me@mail.com","currency":"USD"}}],"apiversion":"2.3.1"}
但我需要这个结果:
{"SUCCESS":{"message":"Your Accout Info","AccoutInfo":{"credit":"$56.98USD","mail":"me@mail.com","currency":"USD"},"apiversion":"2.3.1"}}
{"SUCCESS":[{"message":"Your Accout Info","AccoutInfo":{"credit":"$56.98USD","mail":"me@mail.com","currency":"USD"}}],"apiversion":"2.3.1"}
有什么建议可以解决这个问题吗?更改
$data[SUCCESS] = array(...
到
改为
$data = array('SUCCESS' => array(
'credit' => '$56.98USD',
'mail' => 'mail@me.com',
'message' => 'Your Accout Info',
'currency' => 'USD',
'apiversion' => '2.3.1'
)
);
echo json_encode($data);
首先创建
$data
,它可以是对象或数组,并将SUCCESS
用作字符串'SUCCESS'
,而不是未定义的常量
header('Content-type:application/json;charset=utf-8');
$data = array('SUCCESS' => array(
array(
'AccoutInfo' => array(
'credit' => '$56.98USD',
'mail' => 'mail@me.com',
'currency' => 'USD'
),
'message' => 'Your Accout Info',
)
),
'apiversion' => '2.3.1'
);
echo json_encode($data);
另外,您硬编码的json和您尝试构建的结构也非常不同最后我让它工作了:-)
感谢@Musa为我指出了正确的方向。不起作用,看起来“AccoutInfo”又是数组中的数组了?它在第12行报告错误。不管怎样,我在下面的答案中找到了它。谢谢你的帮助。它帮助我使这个阵列成功。检查下面。谢谢