gpt4 book ai didi

javascript - PHP - 为什么我从编码的对象数组中得到奇怪的结果?

转载 作者:行者123 更新时间:2023-12-02 22:28:38 24 4
gpt4 key购买 nike

我在 PHP 中有一个对象数组,如何将其回显为 JSON?我尝试了 json_encode 但得到了非常奇怪的结果。 JSON 不在 {} 之间,而是在 [] 之间,并且在输出末尾添加 0。我究竟做错了什么?它让我在控制台中收到 Unexpected number in JSON 错误。

PHP

function 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}
]0

Javascript

function 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');

最佳答案

正如评论部分所建议的,0 的最佳解决方案可能是在 json_encode() 之后放置一个 die() ,以防止 0 中的其他输出页。还有 [] 这是因为值位于数组内,而不是对象

关于javascript - PHP - 为什么我从编码的对象数组中得到奇怪的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58980430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com