Jquery 如何获取嵌套的响应值?
如果我通过ajax和Jquery 如何获取嵌套的响应值?,jquery,ajax,Jquery,Ajax,如果我通过ajax和数据类型='JSON'获得此信息: [{"extras": {"tags": "[<Tag: tag1>, <Tag: tag2>]"}}] [{“附加”:{“标记”:“[,]”}] 如何创建这样的链接: <a href="tag/ + value.extras.tags.tag1">tag1</a> <a href="tag/ + value.extras.tags.tag2">tag2</a>
数据类型='JSON'
获得此信息:
[{"extras": {"tags": "[<Tag: tag1>, <Tag: tag2>]"}}]
[{“附加”:{“标记”:“[,]”}]
如何创建这样的链接:
<a href="tag/ + value.extras.tags.tag1">tag1</a>
<a href="tag/ + value.extras.tags.tag2">tag2</a>
你的JSON数据对我来说毫无意义。你基本上得到了这个:
jsonObj[0].extras.tags
作为等于以下值的字符串值:
"[<Tag: tag1>, <Tag: tag2>]"
然后,可以执行如下循环以访问标记值:
var tagArray = jsonObj[0].extras.tags;
for (var i = 0; i < tagArray.length; i++) {
var tagVal = tagArray[i];
// do what you want here with tagVal
}
var-tagArray=jsonObj[0].extras.tags;
对于(var i=0;i
如果JSON中的第一个数组可以包含多个元素,并且您希望看到所有元素,那么您也可以遍历它们:
var tagArray;
for (var j = 0; j < jsonObj.length; j++) {
tagArray = jsonObj[j].extras.tags;
for (var i = 0; i < tagArray.length; i++) {
var tagVal = tagArray[i];
// do what you want here with tagVal
}
}
var-tagArray;
对于(var j=0;j
您的JSON数据对我来说毫无意义。你基本上得到了这个:
jsonObj[0].extras.tags
作为等于以下值的字符串值:
"[<Tag: tag1>, <Tag: tag2>]"
然后,可以执行如下循环以访问标记值:
var tagArray = jsonObj[0].extras.tags;
for (var i = 0; i < tagArray.length; i++) {
var tagVal = tagArray[i];
// do what you want here with tagVal
}
var-tagArray=jsonObj[0].extras.tags;
对于(var i=0;i
如果JSON中的第一个数组可以包含多个元素,并且您希望看到所有元素,那么您也可以遍历它们:
var tagArray;
for (var j = 0; j < jsonObj.length; j++) {
tagArray = jsonObj[j].extras.tags;
for (var i = 0; i < tagArray.length; i++) {
var tagVal = tagArray[i];
// do what you want here with tagVal
}
}
var-tagArray;
对于(var j=0;j
var tags=data[0].extras.tags.replace(/[\[\]]]/g',).split(',);
$。每个(标签、功能(i、v){
var tag=v.match(//);
如果(标记!==null){
var href='tag/';
//
var$link=$('').attr('href',href+标记[1]).text(标记[1]);
$('#myDiv')。追加($link);
}
});
注意:我建议您遵循@jfriend00的建议,并更改JSON的结构。无论如何,我将把它留在这里,因为它与您拥有的数据一起工作。var tags=data[0]。extras.tags.replace(/[\[\]]/g',).split(',);
$。每个(标签、功能(i、v){
var tag=v.match(//);
如果(标记!==null){
var href='tag/';
//
var$link=$('').attr('href',href+标记[1]).text(标记[1]);
$('#myDiv')。追加($link);
}
});
注意:我建议您遵循@jfriend00的建议,并更改JSON的结构。不管怎样,我将把它留在这里,因为它与您拥有的数据一起工作。您确实希望href字面上是
tag/+value.extras.tags.tag1
,还是希望它是tag/tag1
?这不是一个“真正的”JSON对象——括号中的双引号和{…}意思是你必须编写自己的解析器。tag/tag1
这就是我要找的吗?你确定你希望href字面上是tag/+value.extras.tag.tag1
,还是希望它是tag/tag1
?这不是一个“真正的”JSON对象——括号和{…}周围的双引号这意味着你必须编写自己的解析器。tag/tag1
这就是我想要的吗?我在我的答案中添加了一些内容,以解释如何修改JSON以消除手动解析。嗯。。。Chrome说,tags
是未定义的。你看,这是因为我可怜的js,我想我没有指定jsonOjb。感谢您的帮助。jsonObj是我在测试代码中指定JSON的对象。如果您是从服务器加载的,JSON数据应该是ajax调用的success函数的一个参数,您可以使用该参数的名称来引用它。如果您在问题中加入ajax代码,我们可以在这个主题上更好地帮助您。现在一切都很好。谢谢。我在我的回答中添加了更多内容来解释如何修改JSON以消除手动解析。嗯。。。Chrome说,tags
是未定义的。你看,这是因为我可怜的js,我想我没有指定jsonOjb。感谢您的帮助。jsonObj是我在测试代码中指定JSON的对象。如果您是从服务器加载的,JSON数据应该是ajax调用的success函数的一个参数,您可以使用该参数的名称来引用它。如果您在问题中加入ajax代码,我们可以在这个主题上更好地帮助您。现在一切都很好。谢谢。但是如何将此链接添加到示例div
?在'var$link=$('').attr('href',href+标记[1]).text(标记[1])之后,`我尝试了$('div')。追加('link)
和警报('link)
,但是我得到了$链接没有定义
,所以如果我需要在指定$link之后将每个$link追加到div,我该怎么做?@Cris:$('#myDiv')。追加('link)
。我测试了这段代码,并且console.log($link)
对我来说很好。但是我如何才能将这些链接添加到示例div
?在'var$link=$('').attr('href',href+标记[1]).text(标记[1])之后,`我尝试了$('div')。追加('link)
和警报('link)
,但是我得到了$链接没有定义
,所以如果我需要在指定$link之后将每个$link追加到div,我该怎么做?@Cris:$('#myDiv')。追加('link)
。我测试了这段代码,console.log($link)
对我来说很好。