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"));
我正在尝试从我的数组中输出花括号,如下所示:
"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"));