我有一個url正在返回JSON,但由於跨瀏覽器請求問題,我用CURL在PHP中請求它,現在它以字符串形式返回json數據。我想要將該字符串轉換爲json,以便我可以將其與javascript函數一起使用。url數據到json
Ajax請求它打印JSON字符串
$.ajax({
url: 'tweet.php',
cache: false,
dataType: 'json',
type: 'POST',
data: {
url : url,
},
success: function(tweet){
var tweets = $.parseJSON(tweet);
console.log(tweets);
}
});
和tweet.php
header('Content-type: application/json');
$ch = curl_init() or die('cURL not available');
curl_setopt($ch, CURLOPT_URL, $_POST["url"]. $location);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $options);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //to suppress the curl output
$result = curl_exec($ch);
curl_close ($ch);
print ($result);
獲得解決
雖然答案沒有無效的JSON錯誤
幫助,但不知何故,我想出來。如果有人需要,請在這裏發帖。
每當您使用Curl從PHP請求JSON時,它都會返回JSON對象,但作爲字符串,您可以通過javascript typeof()函數進行檢查。如果你想將該字符串轉換爲真正的JavaScript對象,你需要使用某種解析器。這裏我用 JSON PARSER
var myJson = '{ "x": "Hello, World!", "y": [1, 2, 3] }';
var myJsonObj = jsonParse(myJson);
console.log(myJsonObj);
問候
JSON數據串是JSON。那麼,爲什麼你不能簡單地回顯/打印返回值呢? – Candide 2012-03-19 09:40:23
這可能是http://stackoverflow.com/questions/921374/how-do-i-convert-a-json-string-to-a-javascript-object-in-jquery – 2012-03-19 09:42:13
的副本還可以看看http://stackoverflow.com/questions/682260/returning-json-from-php-to-javascript – 2012-03-19 09:44:10