PHP中如何实现JSON数组嵌套?附列表模板JSON构造求助
嗨,我来帮你搞定这个问题~你现在的代码里有两个小问题导致生成的JSON缺少buttons相关字段:
- 你的
elements数组里没有添加buttons这个子数组; - 代码里的
"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
相关产品推荐
相关产品推荐

