gpt4 book ai didi

php - jsonp -> json_decode()

转载 作者:行者123 更新时间:2023-12-03 03:55:39 24 4
gpt4 key购买 nike

由于某种原因,我无法从返回的 jsonp 字符串中获取信息,

<?php
// Created by Talisman 01/2010 ★✩

$vorto = $_GET['vorto']; // Get the Word from Outer Space and Search for it!

if (isset($vorto))
{
echo $vorto;
} else {
$Help = "No Vorto -> add ?vorto=TheWordYouWant to the end of this website";
echo $Help;
}



// Now Lets Search Alex's Vortaro, It uses jsonp
// ex. http://vortaro.us.to/ajax/epo/eng/petas/?callback=?
// Future Feature inproved language functinality

$AVurl1 = "http://vortaro.us.to/ajax/epo/eng/";
$AVurl2 = "/?callback=";
$AVfinalurl= $AVurl1 . $vorto . $AVurl2;

echo $AVfinalurl . ' </br> '; // DEBUG CODE

$AVcontent = file_get_contents($AVfinalurl) ;
echo $AVcontent . ' </br> '; // DEBUG CODE

//★✩ 为什么下一行不起作用?

 $AVDecode = json_decode($AVcontent);


// /*
if(isset( $AVcontent)) { // DEBUG CODE
echo "json_decode set AVcontent" . ' </br> ';
} else {
echo "something fishy here" . ' </br> ';
}

if (empty($AVcontent)){
echo "EMPTY EMPTY" . ' </br> ';
} else {
echo "Not Empty". ' </br> ';
}

echo $AVDecode . ' </br> ';
// */

// Why can't I echo or access information with $AVDecode? Is it something with
// jsonp?

?>

这是我的结果

komputilojhttp://vortaro.us.to/ajax/epo/eng/komputiloj/?callback=

({"text":"komputilo: computer"})

json_decode set AVcontent

Not Empty

我应该看到 echo $AVDecode

最佳答案

调试建议:

检查 json_last_error() 的输出。它应该给你一个它不起作用的确切原因。不过,仅从 PHP 5.3.0 起可用。

原因:

JSONPJSON 不同。它包含破坏 json_decode() 的额外数据。

解决方案:

使用 substr($AVDecode, 1, strlen($AVDecode)-2) 删除多余的括号

关于php - jsonp -> json_decode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2101316/

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