[英]trouble parsing xml and converting it to json with php for use with $.ajax
我正在嘗試使用php從API抓取xml。 到目前為止,我已經看了下面的博客文章和之前的 stackoverflow文章,但是沒有成功。
通過查看網頁的源代碼可以在此處獲得xml數據。
根據我的理解,php的json_encode
將json數據作為由string(length)
前綴的string(length)
返回。
我想做的是使用JQuery的$.ajax
加載編碼的json數據,以使用javascript處理數據。 但是,從php的json_encode
返回的數據與$.ajax
不兼容。
有人會對如何格式化字符串有任何建議,以便ajax可以讀取數據嗎?
更新,我的代碼php代碼在這里:
<?php
$url = file_get_contents("http://api.wefeelfine.org:8080/ShowFeelings?display=xml&returnfields=sentence&limit=50");
$simpleXml = simplexml_load_string($url);
$json = json_encode($simpleXml);
var_dump($json);
?>
我使用php進行跨域請求,然后使用$ .ajax將url用作php代碼。 當使用$ .ajax而不使用php訪問API的URL時,出現No'Access No 'Access-Control-Allow-Origin'
錯誤。
json_encode
不適用於SimpleXMLElement
對象,至少不會像您期望的那樣。 嘗試像這樣預處理XML:
$feelings = array();
foreach($simpleXml as $feeling) {
$feelings[] = array('sentence' => $feeling['sentence'] . '');
}
$json = json_encode($feelings);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.