Jquery 如何获取嵌套的响应值?

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>

如果我通过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数据对我来说毫无意义。你基本上得到了这个:

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)
对我来说很好。