我有一个看起来像这样的功能。如何在PHP中创建json返回?
function startChatSession($items) {
foreach ($test as $chatbox => $void) {
$items .= $this->chatBoxSession($chatbox);
}
if ($items != '') {
$items = substr($items, 0, -1);
}
header('Content-type: application/json');
?>
{
"username": "<?php echo $_SESSION['username'];?>",
"items": [
<?php echo $items;?>
]
}
<?php
exit(0);
}
我对这个功能的第二部分感兴趣。我想把它翻译成sometihng像:
echo json_encode(array(
'username'=>$_SESSION['username'],
'items'=>$items
));
exit;
这种作品,但不完全。
的响应应该是这样的:
{
"username": "johndoe",
"items": [{
"s": "1",
"f": "janedoe",
"m": "dqwdqwd"
}, {
"s": "1",
"f": "janedoe",
"m": "sdfwsdfgdfwfwe"
}, {
"s": "1",
"f": "janedoe",
"m": "werwefgwefwefwefweg"
}]
}
在我的情况
它看起来像:
{
"username": "johndoe",
"items": "\t\t\t\t\t {\r\n\t\t\t\"s\": \"1\",\r\n\t\t\t\"f\": \"babydoe\",\r\n\t\t\t\"m\": \"test\"\r\n\t },\t\t\t\t\t {\r\n\t\t\t\"s\": \"1\",\r\n\t\t\t\"f\": \"\",\r\n\t\t\t\"m\": \"\"\r\n\t }"
}
什么想法?
感谢
编辑:
如果我转储$items
我的是这样的:
{
s: 1,
f: babydoe,
m: test
}, {
s: 1,
f: babydoe,
m: test
}, {
s:1,
f: babydoe,
m: test
}, {
s: 1,
f: babydoe,
m: test
}
看起来你几乎印刷'$ items'。如果你在调用'json_encode'之前弄乱了'$ items',那么什么都不能做 – Alexander
你是用substr删除$ items的1个字符的原因是什么?如果我们可以跳过或调整那部分,我们可以返回一个数组,并且事情会正常工作。 – edwardmp