큰 따옴표가 포함 된 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와에 일어나는 구문 분석이다 : 다음은 JSON 피드 (는 중괄호를 표현 엔진에 내장, 그래서 무시하는 것)이다
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>');
};
}
당신은 내가 위해 시도 볼 수 있습니다 제목, 표현 엔진에서 인코딩 (잘 작동) 및 자바 스크립트에서 디코딩 (작동하지 않습니다). JSON에 일종의 linkify 함수가 있지만 JQuery의 AJAX 기능으로 전환하지 않고 JSON에 수행하는 방법을 알 수 없었다. 내가 무엇을하고 싶습니다 표현 엔진을 인코딩을 피하고 가능하면 자바 스크립트 (그리고 필요한 경우 PHP)로 모든 것을 할 수 있습니다.
Unescape는 표현 엔진에서 공백을 나타내는 + 기호가 남아 있다는 점을 제외하고는 작동합니다. – mheavers
내 대답이 업데이트되었습니다. decodeURIComponent()가있는 –
은 그냥 작동합니다 ... –