我在 PHP 中有一个对象数组,如何将其作为 JSON 回显?我尝试了 json_encode 但我得到了非常奇怪的结果。JSON 不在 {} 之间,而是在 [] 之间,它在输出的末尾添加了一个 0。我究竟做错了什么?它使我在控制台中的 JSON 错误中得到 Unexpected number。PHPfunction do_get_children_as_hierarchy(){ if (!isset($_GET) || !isset($_GET['taxonomy_name'])) { echo "Parameter is missing."; die; } $taxonomy = $_GET['taxonomy_name']; $terms = get_terms(array( 'taxonomy' => $taxonomy, )); $termObjects = []; foreach ($terms as $term) { $depth = count(get_ancestors($term->term_id, $taxonomy)); $obj = (object) array('term_id' => $term->term_id, 'name' => $term->name, 'depth' => $depth); array_push($termObjects, $obj); } echo json_encode($termObjects);}add_action('wp_ajax_get_children_as_hierarchy', 'do_get_children_as_hierarchy');add_action('wp_ajax_nopriv_get_children_as_hierarchy', 'do_get_children_as_hierarchy');JSON[ {"term_id":415,"name":"1 kanaals","depth":2}, {"term_id":416,"name":"12 kanaals","depth":2}, {"term_id":417,"name":"24 kanaals","depth":2}]0Javascriptfunction do_get_terms_as_hierarchy(){ return '<script> var data = { "action":"get_children_as_hierarchy", "taxonomy_name":"productcategorie", }; $.ajax({ url: "/wp-admin/admin-ajax.php", type: "GET", data: data, }).then(response => { console.log(JSON.parse(response)); }); </script>';}add_shortcode('get_terms_as_hierarchy','do_get_terms_as_hierarchy');
1 回答
BIG阳
TA贡献1859条经验 获得超6个赞
正如评论部分所建议的那样,0 的最佳解决方案可能是在die()
后面放置一个json_encode()
,以防止页面中的其他输出。另外,[]
这是因为该值是一个数组,而不是一个对象内部
添加回答
举报
0/150
提交
取消