无法在 wordpress php 插件中获取 JSON

Can't GET JSON in wordpress php plugin

我正在测试 API 我使用本地安装的 wordpress 在本地构建。

我的 API 路径是这样的: http://local.web.tt.com:8615/api/product

使用我的 Node 服务器 运行,当您转到 link(mongodb 集合对象]:

时,它会在浏览器中显示
[
    {
        "_id":"54bd5fbb646174009a450001",
        "productname":"Product 1",
        "overview":"Overview Title",
        "benefits":
            [
                "List item 1",
                "List item 2",
                "List item 3"
            ]
    }
]

我的 PHP wordpress 简码插件

add_shortcode('product', function($atts, $content) {
    $service_url = 'http://local.web.tt.com:8615/api/product';
    $data = json_decode($service_url, true);

    return $data;
});

当我在博客 post 中添加 [product] 时,页面上基本上没有任何显示。如果我 return 只是一个简单的字符串,那么简码确实有效。

我也刚试过这个:

add_shortcode('product', function($data) {
    $service_url = 'http://local.web.tt.com:8615/api/product';
    $get = file_get_contents($service_url);
    $data = json_decode($get, true);
    return $data;
});

然而,这只是吐出 Array 到简码所在的位置:

我想做的是捕获 JSON 对象的每个键中的字符串,然后用 HTML 和 CSS 很好地显示它们。即:好处 array 项目将显示为要点。

基本上是这样的:

$content .='
    <h2>$data.overview</h2>
    <ul>
       <li>$data.benefits[0]
       <li>$data.benefits[1]'

return $content;

知道我错过了什么吗?提前致谢!

{
"_id": "84b7e4c7946174009a1f0000",
"name": "Name of product",
"overview": "Long blah blah blah blah here...",
"benefits": [
    "List item 1",
    "List item 2",
    "List item 3",
    "List item 4"
]
}

修复您的 json 以对键使用引号

 $service_url = 'http://local.web.tt.com:8615/api/product'; 
 $get = file_get_contents($service_url);
 $data = json_decode($get, true);
 return $data;

此外,为什么要返回数组?