You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何实现JSON数组嵌套?附列表模板JSON构造求助

解决PHP数组转JSON缺失buttons字段的问题

嗨,我来帮你搞定这个问题~你现在的代码里有两个小问题导致生成的JSON缺少buttons相关字段:

  1. 你的elements数组里没有添加buttons这个子数组;
  2. 代码里的"image_url": "https://cdn-images-1.medium.com/max/375/0*sepg7sXXe3zcmGvZ.png"用了JSON的冒号语法,但PHP数组里键值对应该用=>,这会导致语法错误哦。

下面是修正后的完整PHP代码:

$message = [
    "attachment" => [
        "type" => "template",
        "payload" => [
            "template_type" => "list",
            "top_element_style" => "large",
            "elements" => [
                [
                    "title" => "test",
                    "image_url" => "https://cdn-images-1.medium.com/max/375/0*sepg7sXXe3zcmGvZ.png",
                    "subtitle" => "Soft white cotton t-shirt is back in style",
                    "buttons" => [
                        [
                            "type" => "web_url",
                            "url" => "https://petersapparel.parseapp.com/buy_item?item_id=101",
                            "title" => "Buy Item"
                        ]
                    ]
                ]
            ]
        ]
    ]
];

// 生成格式化后的JSON
$jsonMessage = json_encode($message, JSON_PRETTY_PRINT);
echo $jsonMessage;

关键说明:

  • elements是一个数组,里面的每个元素是代表列表项的关联数组,我们需要在这个列表项数组里添加buttons字段;
  • buttons本身也是一个数组,每个元素是按钮的关联数组,包含你需要的type、url、title三个字段;
  • 严格遵循PHP数组的语法规范:键和值之间用=>连接,而非JSON里的冒号。

运行这段代码后,生成的JSON就会和你期望的格式完全一致,包含完整的buttons字段啦~

内容的提问来源于stack exchange,提问作者Soul Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:42:49