繁体   English   中英

PHP数组大括号而不是方括号

[英]PHP array curly brackets instead of square brackets

我试图像这样从我的数组输出大括号:

"data":{facebook":{"message"}},

但我不断得到方括号:

"data":{"facebook":["message"]}

这是我的代码:

$output["contextOut"] = array(array("name" => "$next-context", "parameters" =>
array("param1" => $param1value, "param2" => $param2value)));
$output["speech"] = $outputtext;
$output["data"] = array("facebook" => array("message"));
$output["displayText"] = $outputtext;
$output["source"] = "index.php";
ob_end_clean();
echo json_encode($output);

这是我的json编码的输出:

{"contextOut":[{"name":"buy-context","parameters":{"param1":null,"param2":null}}],"speech":"msg","data":{"facebook":["message"]},"displayText":"msg","source":"index.php"}

如何获取大括号而不是方括号? 在此先感谢您的帮助。

正如Paul Crovella所说,您声明的目标是无效的JSON。

您的有效选项是使facebook属性直接包含消息字符串:

{
    "data":{"facebook":"message"},
}

(请注意,我在您的问题中添加了外面的{} ...在这种情况下,您需要:

$output["data"] = array("facebook" => "message");

或者,您可以使facebook引用具有具有值的message属性的对象,如下所示:

{
    "data":{"facebook":{"message":"value"}},
}

通过做这个:

$output["data"] = array("facebook" => array("message" => "value"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM