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

PHP获取WordPress评论后JSON格式输出异常问题求助

解决WordPress评论输出标准JSON数组的问题

我懂你遇到的麻烦啦——你现在的代码是在循环里逐个输出单条评论的JSON对象,结果就变成了多个独立的JSON片段堆在一起,完全不符合标准的JSON数组格式对吧?

问题根源

你之前的写法应该是在foreach循环内部直接echo json_encode(单条评论数据),这样每循环一次就输出一个独立的{...},最终结果就是多个JSON对象零散排列,而不是被[]包裹的合法数组。

修复方案

核心思路是先把所有评论数据收集到一个PHP数组里,最后一次性转成JSON输出,具体代码如下:

// 初始化一个空数组,用来存放所有评论数据
$comments_data = [];

foreach ( $comments as $comment ) :
    // 获取评论作者和内容
    $author = $comment->comment_author;
    $content = $comment->comment_content;
    
    // 将当前评论的信息添加到数组中
    $comments_data[] = [
        'author' => $author,
        'comment' => $content
    ];
endforeach;

// 设置响应头,告诉客户端返回的是JSON格式数据
header('Content-Type: application/json');

// 将整个数组编码为标准JSON格式并输出
echo json_encode($comments_data);

这样输出的结果就会是你想要的标准JSON数组:

[{ "author": "JimmiXzSq", "comment": "test1" }, { "author": "MoseJackswka", "comment": "test2" }]

额外提示

  • 如果需要处理中文乱码问题,可以给json_encode加上参数:json_encode($comments_data, JSON_UNESCAPED_UNICODE)
  • 确保在echo之前没有任何其他输出(比如空格、HTML标签),否则会破坏JSON格式

内容的提问来源于stack exchange,提问作者Partha Sarathy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:15:29