我正在嘗試閱讀包含引號的JSON數據,該引號有效地轉義字符串並將後續文本像變量一樣處理。我如何避免這種情況發生?這裏是JSON飼料(它內置的表達式引擎,所以忽略了大括號):JQuery,JSON - JSON數據中帶引號的問題
<?php echo substr($_SERVER["REQUEST_URI"], strpos($_SERVER["REQUEST_URI"],"=")+1, strpos($_SERVER["REQUEST_URI"],"&")-strpos($_SERVER["REQUEST_URI"],"=")-1);?>([
{exp:channel:entries channel="blog" limit="10" dynamic_start="on" disable="member_data"}
{
"title": "{exp:url_encode}{title}{/exp:url_encode}",
"body": "{blog_one_liner}",
"link": "{blog_image_link}",
"img" : "{blog_image}"
},
{/exp:channel:entries}
]);
,這裏是它發生在jQuery的解析:
function loadBlog(){
$.getJSON("http://superfad.com/work/work_json?callback=?&test=test", blogLoaded);
}
function blogLoaded(data){
for (dataIndex in data) {
var blogTitle = decodeURI(data[dataIndex].title);
var blogContent = data[dataIndex].body;
var blogLink = data[dataIndex].link;
var blogImg = data[dataIndex].img;
$("#blog_results").append('<li class="blog"><a href="' + blogLink + '" target="_blank"><img class="blog_img" src="' + blogImg + '"/></a><span class="blogtitle">'+ blogTitle + '</span> - '+ blogContent + '</li>');
};
}
你可以看到我試過了,對於標題,在表達式引擎中編碼(工作正常)並在JavaScript中解碼(不工作)。我看到JSON具有某種鏈接功能,但是我不知道如何切換到JQuery的AJAX功能。我想要做的就是完全避免表達式引擎編碼,如果可能的話用Javascript完成所有的工作(如果需要,還可以使用PHP)。
Unescape的作品,除了代表空格(來自表達引擎)的+符號仍然存在。 – mheavers
更新了我的答案。 –
與decodeURIComponent()它只會工作... –