PHP数组用花括号代替方括号

PHP数组用花括号代替方括号,php,arrays,json,curly-braces,Php,Arrays,Json,Curly Braces,我试图从数组中输出花括号,如下所示: "data":{facebook":{"message"}}, { "data":{"facebook":{"message":"value"}}, } 但我一直得到方括号: "data":{"facebook":["message"]} 这是我的密码: $output["contextOut"] = array(array("name" => "$next-context", "parameters" => array("para

我试图从数组中输出花括号,如下所示:

"data":{facebook":{"message"}},
{
    "data":{"facebook":{"message":"value"}},
}
但我一直得到方括号:

"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)所说,你所说的目标是无效的

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

{
    "data":{"facebook":"message"},
}
(注意,我添加了您问题中缺少的外部
{
}
)。在这种情况下,您需要:

$output["data"] = array("facebook" => "message");
或者,您可以使
facebook
引用具有
message
属性且具有值的对象,如下所示:

"data":{facebook":{"message"}},
{
    "data":{"facebook":{"message":"value"}},
}
通过这样做:

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

您所需的输出不是有效的json。
{}
用于对象。请参阅,引用了语法。