Я пытаюсь прочитать данные 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 есть какая-то функция linkify, но я не мог понять, как это сделать, не переключаясь на функциональные возможности JQuery AJAX. Что я хотел бы сделать, так это вообще избежать кодировки движка выражений и делать все с Javascript, если это возможно (и PHP, если необходимо).