如何将JSON字符串返回到可用数据?

时间:2014-04-03 15:26:48

标签: php json wordpress

我使用的插件对我的产品进行分组,然后使用JSON stringify获取产品ID并在自定义字段中返回以下内容:[{" id":" 435&# 34;},{" ID":" 527"},{" ID":" 563"},{" ID& #34;:" 568"}]

我想用它,但无法弄清楚如何。我根本不懂Java。我正在使用Wordpress + WooCommerce。我想通过他们的身份证来获得这些帖子。在The Loop中,我通过

调用自定义字段
<?php
    while (have_posts()) { the_post(); $count++;

        // post data from "Single_Menu" custom field
        echo do_shortcode(get_post_field("menu_listing", $post->ID ));

    } // End WHILE Loop

这是在网页上返回的内容

[{"id":"435"},{"id":"527"},{"id":"563"},{"id":"568"}]

这是后端元框中的内容。我想要的是返回与这些ID相关的实际帖子。有谁知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用内置的php函数json_decode将该json字符串转换为数组数组或对象数组。

$json = '[{"id":"435"},{"id":"527"},{"id":"563"},{"id":"568"}]';
$array = json_decode($json);

您现在可以使用一组对象。将这些id放入另一个数组中,作为get_posts的参数参数的一部分。

$include = array();
foreach($array as $a) {
    $include[] = $a->ID;
}

$args = array('posts_per_page' => -1, 'include' => $include);
$posts = get_posts($args);

$posts现在是一个帖子对象数组,您可以随意使用。