一个愚蠢的问题,我知道。但我有一个问题。从服务器我进行js调用,并始终在封装的div标签中获得响应。
但是响应采用JSON形式 所以我们有响应变量数据
data="<div> json_string_here</div>";
那么我怎样才能获得json_string_here,而不是转义字符串????
答案 0 :(得分:2)
如果返回的数据是字符串,您可以使用以下内容提取JSON并将其放入对象
var obj = jQuery.parseJSON($(data).html());
编辑:这是一个jsfiddle示例http://jsfiddle.net/qV2Nw/2/
答案 1 :(得分:2)
您可以使用javascript中的正则表达式来执行此操作...例如
var data="<div> {\"hhh\":4, \"jjj\":[\"ghg\",\"ddd\"]} </div>";
var patt = /\<div\>\s*(.*)\s*\<\/div\>/g;
document.write("Returned value: " + patt.exec(data)[1]);
结果你可以得到你的json
Returned value: {"hhh":4, "jjj":["ghg","ddd"]}
答案 2 :(得分:1)
你的问题措辞奇怪,但我会尝试回答。
JSON.replace(/<div>/, "").replace(/<\/div>/, "");
你基本上需要对进入data
的信息进行某种查找和替换。
答案 3 :(得分:1)
您可以使用
jQuery.parseJSON($(data).html());
或通过调用URL来获取JSON对象,您应该使用$ .getJSON()函数,或者当您通过$ .ajax执行它时,设置dataType:'json',它也可以工作,否则你可以逃脱使用正则表达式标记,然后尝试parse.JSON函数。