gpt4 book ai didi

javascript - 获取对象的复杂属性值

转载 作者:行者123 更新时间:2023-11-28 20:58:36 26 4
gpt4 key购买 nike

给定这样的 json :

{ "rss": {
"page": 1,
"results": [{
"type": "text",
"$": 10
}],
"text": [{
"content": "Lorem ipsum dolor sit amet.",
"author": {
"name": "Cesar",
"email": "cesar@evoria.com"
},
},
{
"content": "Tema Tis rolod muspi merol.",
"author": {
"name": "Cleopatre",
"email": "cleopatre@pyramid.com"
},
}]
}

在 javascript 中,我可以像这样检索值:

var json = JSON.parse(datajson);
$.each(json.text, function(key, val) {
// this one is ok
var content = val['content'];
// this one does not work
var authorname = val['author.name'];
});

这是一种在给定字符串格式的属性名称的情况下检索复杂对象的值的方法,例如 json.text[0].author.name

编辑我想将所需的属性存储在另一个对象中,例如:

[
{ dt: "Text content", dd: "content" },
{ dt: "Author name", dd: "author.name"}
]

最佳答案

您可以按 分割“索引”。 并循环遍历“段”,在每次迭代中按级别递减。

var obj = {
author : {
name : "AuthorName"
}
}

function get_deep_index(obj, index) {
var segments = index.split('.')
var segments_len = segments.length
var currently_at = obj
for(var idx = 0; idx < segments_len; idx++) {
currently_at = currently_at[segments[idx]]
}
return currently_at
}

console.log(get_deep_index(obj, 'author.name'))

关于javascript - 获取对象的复杂属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11614902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com