我把它作为一个字符串。我使用jquery并从网页解析它。
我尝试使用jQuery.parseJSON并收到错误Uncaught SyntaxError: Unexpected token n
。
我需要得到" surl"和" imgurl"我怎么能得到这个?
{
ns:"images",
k:"5061",
mid:"172E23D582B8C2A90F3FE9DC2B04A3ECD1D4F70F",
surl:"http://polyhouse2011.wordpress.com/2011/05/16/safety-precautions-2/",
imgurl:"http://polyhouse2011.files.wordpress.com/2011/05/safety_gear1.gif",
ow:"480",
docid:"608038082569896450",
oh:"301",
tft:"117",
dls:"images,5487"
}
此字符串的来源:
<a href="#" q="{ns:"images",k:"5061",mid:"172E23D582B8C2A90F3FE9DC2B04A3ECD1D4F70F",surl:"http://polyhouse2011.wordpress.com/2011/05/16/safety-precautions-2/",imgurl:"http://polyhouse2011.files.wordpress.com/2011/05/safety_gear1.gif",ow:"480",docid:"608038082569896450",oh:"301",tft:"117",dls:"images,5487"}"></a>
答案 0 :(得分:4)
我的示例假设您的主持人有一个id以方便使用。如果you use wrxsti's answer没有完全不必要的转义,那么你就明白了:
var str = document.getElementById('a').getAttribute('q');
var json = JSON.stringify(eval("(" + str + ")"));
var obj = JSON.parse(json)
var surl = obj.srl;
但是你真的应该将属性数据改为正确解析JSON。
答案 1 :(得分:3)
如果您没有编辑JSON信息的选项,可以执行此操作以使其成为有效的json对象。我会说由于安全原因,包括eval可能很糟糕,但从长远来看,这将使你的JSON成为一个有效的对象。
var object = '{ \
ns: "images", \
k: "5061", \
mid: "172E23D582B8C2A90F3FE9DC2B04A3ECD1D4F70F", \
surl: "http://polyhouse2011.wordpress.com/2011/05/16/safety-precautions-2/", \
imgurl: "http://polyhouse2011.files.wordpress.com/2011/05/safety_gear1.gif", \
ow: "480", \
docid: "60808082569896450", \
oh: "301", \
tft: "117", \
dls: "images5487" \
}';
var json = JSON.stringify(eval("(" + object + ")"));
var o = $.parseJSON(json);
希望这会有所帮助。如果您有任何问题,请告诉我们!
答案 2 :(得分:1)
这是一个有效的JSON字符串:
{
"ns": "images",
"k": "5061",
"mid": "172E23D582B8C2A90F3FE9DC2B04A3ECD1D4F70F",
"surl": "http://polyhouse2011.wordpress.com/2011/05/16/safety-precautions-2/",
"imgurl": "http://polyhouse2011.files.wordpress.com/2011/05/safety_gear1.gif",
"ow": "480",
"docid": "608038082569896450",
"oh": "301",
"tft": "117",
"dls": "images,5487"
}
如果您在JSON字符串中出现错误,请通过http://jsonlint.com/在线检查其验证,我希望它能为您提供帮助。
答案 3 :(得分:1)
您使用object
格式而不是json
格式,如果您喜欢以下代码,则该格式正确无误:
var obj = {
ns:"images",
k:"5061",
mid:"172E23D582B8C2A90F3FE9DC2B04A3ECD1D4F70F",
surl:"http://polyhouse2011.wordpress.com/2011/05/16/safety-precautions-2/",
imgurl:"http://polyhouse2011.files.wordpress.com/2011/05/safety_gear1.gif",
ow:"480",
docid:"608038082569896450",
oh:"301",
tft:"117",
dls:"images,5487"
}
因此,如果您想获得surl
和imgurl
:只需执行:obj.surl;
和obj.imgurl