我需要将带有嵌套对象数组的复杂json作为shortcode参数传递。
例如,我需要传递如下内容:
{
"a":"va",
"b":{
"b1":"vb1",
"b2":[
{
"kb2":"vb2"
}
]
}
}
所以我试着这样设置快捷码:[my_shortcode parameters=\'{"a": "va", "b": {"b1": "vb1", "b2": [{"kb2": "vb2"}]}}\']
问题似乎与数组(方括号)有关。实际上,另一个示例也可以:[my_shortcode parameters=\'{"a": "va", "b": {"b1": "vb1"}}\']
以下是shorcode中如何处理参数:function myshortcodehandler($atts){
$arrparameters = json_decode($atts["parameters"], true);
ob_start();
?>
<pre><?php echo json_encode($arrparameters); ?></pre>
<?php
return ob_get_clean();
}
如果json包含一些嵌套数组,则输出仅显示一些括号。那么,将复杂json作为短代码参数传递的正确方法是什么?我已经阅读了此文档:https://codex.wordpress.org/Shortcode_API#Square_Brackets
提前谢谢。