当前位置: 首页 > 面试题库 >

如何从Wordpress插件中的JSON var_dump解析变量

怀宇
2023-03-14
问题内容

我试图从我的API中提取JSON数据,并从每个键中获取数据以在HTML / CSS中很好地显示。现在无法获取数据。

这是我的数据库对象:

[
    {
        "_id":"54bd5fbb646174009a450001",
        "productname":"Product 1",
        "overview":"Overview Title",
        "benefits":
            [
                "List item 1",
                "List item 2",
                "List item 3"
            ]
    }
]

我在这里找到了这个答案,并且var_dump正在工作,它在页面上显示了我的db对象。这是我更新的wordpress php插件:

<?php
add_shortcode('mis', function($atts, $data) {

    $service_url = 'http://local.web.tt.com:8615/api/users';

    //  Initiate curl
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL,$service_url);
    $result=curl_exec($ch);
    curl_close($ch);

    // Will dump a beauty json :3
    // var_dump(json_decode($result, true));
    $data = (json_decode($result, true));
    var_dump($data);

    $data = add_shortcode (
        array(
            'name' => 'name',
            'overview' => 'overview',
            'benefits' => 'benefits'
        ), $data
    );

    extract($data);

    $content .='
        <style>li { margin-left: 20px; }</style>
        <h2>$name</h2>
        <p>$overview</p>
        <ul>
            <li>$data["benefits"][0]</li>
            <li>$data["benefits"][2]</li>
        </ul>';

    return $content;
 });

但是我在获取数据方面遇到了麻烦:

在此处输入图片说明

这是我的问题所在:

$data = (json_decode($result, true));
var_dump($data);

$data = add_shortcode (
    array(
        'name' => 'name',
        'overview' => 'overview',
        'benefits' => 'benefits'
    ), $data
);

extract($data);

$content .='
    <style>li { margin-left: 20px; }</style>
    <h2>$name</h2>
    <p>$overview</p>
    <ul>
        <li>$data["benefits"][0]</li>
        <li>$data["benefits"][1]</li>
    </ul>';

return $content;

如何将数据从var_dump获取到$ content变量中的正确键/变量中?


问题答案:

这部分代码很奇怪-它打算做什么?

$data = add_shortcode (
    array(
        'name' => 'name',
        'overview' => 'overview',
        'benefits' => 'benefits'
    ), $data
);

extract($data);

要访问您的数据,您只需

$data[0]['productname']

您还可以将输出变量放在字符串中(在中'')。要将数据带入输出,请尝试:

$data = (json_decode($result, true));
var_dump($data);
$product = $data[0];
$content = '<style>li { margin-left: 20px; }</style>';
$content .='<h2>' . $product['productname'] . '</h2>
    <p>' . $product['overview'] . '</p>
    <ul>
        <li>' . $product["benefits"][0] . '</li>
        <li>' . $product["benefits"][1] . '</li>
    </ul>';

或循环播放:

$data = (json_decode($result, true));
$content = '<style>li { margin-left: 20px; }</style>';
foreach($data as $product) {
    $content .='<h2>' . $product['productname'] . '</h2>
    <p>' . $product['overview'] . '</p>
    <ul>';
    foreach($product['benefits'] as $benefit) {
        $content .= '<li>' . $benefit . '</li>';
    }
    $content .= '</ul>';

}


 类似资料:
  • 我正在处理wordpress主题,未能在wpdb上使用算术运算- 若我写的是simple,那个么它会在数据库中成功更新 但是如果我对结果使用减号操作,它会抛出致命的错误。 错误 朋友们,请建议我如何解决这个问题。我已经使用结果-

  • 我使用Jsoup来解析html文件,并从元素中提取所有可见的文本。问题是javascript变量中有一些html位明显被忽略了。取出这些碎片的最佳方案是什么? 示例: 在这个例子中,Jsoup只从标签中获取文本,这是它应该做的。如何从 跨度中获取文本?该解决方案必须应用于数千个不同的页面,因此我不能依赖具有相同名称的javascript变量之类的东西。

  • 问题内容: 我正在尝试从JSON文件解析数据。我试图将已解析/获取的数据放入带有标签的UIView或Webview中。JSON文件如下所示: 在上有一些帖子,展示了如何解析从WebURL检索到的JSON,但实际上我已经有一个要解析的JSON文件。如何从文件解析JSON? 问题答案: 创建空的文本文件(新文件/其他/空),例如“ example.json” 将json字符串粘贴到文件中。 使用以下行

  • 问题内容: 我有一个带有2个下拉框的Wordpress网站。当我在第一个下拉框中选择一个选项时,我希望第二个选项被PHP函数中的数据刷新。为此,我需要ajax。但是我正在努力将Ajax绑定到Wordpress中。 HTML看起来像这样: 现在,例如,当用户选择“销售”时,我希望第二个选择标签重新加载来自PHP数组的匹配价格。 PHP函数如下所示: 我将jQuery Ajax调用保存在单独的.js文

  • 我正在阅读这些文档,仍然不知道Maven是如何决定下载哪些版本的插件的。 例如,考虑以下简单场景: 一个空的本地存储库 默认settings.xml 运行一个简单的maven命令。例如,用于,如Maven在5分钟文档中所述。 运行命令后,Maven做的第一件事就是下载一堆插件。 Maven正在下载的一些插件包括: maven-clean-plugin-2.4.1 maven-install-plu

  • 我使用Wordpress中的Types插件创建自定义帖子类型。我已经添加了自定义字段“图像字段”,这是一个重复字段,通过这种方式,我想在我的帖子类型中创建类似gallery的内容 我是这样称呼前端的图像的 使用该代码,我可以看到包含所有图像和媒体文件链接的列表。但是我如何在img标签中添加缩略图而不是精确的图像呢?非常感谢。