我有一個嵌套的 JSON 結構,如何根據同一結構中另一個鍵的值從結構中回傳一個鍵的特定值。
例如:我的初始 JSON 如下
{
"movies": [
{
"movie_name": "The Unforgivable",
"movie_details": {
"director": "Nora Fingscheidt",
"lead_actor": "Sandra Bullock",
"genre": {
"romance": "no",
"drama": "yes",
"action": "no",
"comedy": "no"
}
}
},
{
"movie_name": "The Power Of The Dog",
"movie_details": {
"director": "Jane Campion",
"lead_actor": "Benedict Cumberbatch",
"genre": {
"romance": "yes",
"drama": "yes",
"action": "no",
"comedy": "no"
}
}
}
]
}
從上面的結構中,我需要回傳制作電影的directors名字romance
所以使用鍵值對"romance": "yes"我需要回傳director值。
在這個例子中,我期待結果為
[Jane Campion]
uj5u.com熱心網友回復:
您可以使用filter過濾浪漫電影,然后使用map 映射導演的名字。
var data = { "movies": [ { "movie_name": "The Unforgivable", "movie_details": { "director": "Nora Fingscheidt", "lead_actor": "Sandra Bullock", "genre": { "romance": "no", "drama": "yes", "action": "no", "comedy": "no" } } }, { "movie_name": "The Power Of The Dog", "movie_details": { "director": "Jane Campion", "lead_actor": "Benedict Cumberbatch", "genre": { "romance": "yes", "drama": "yes", "action": "no", "comedy": "no" } } } ] }
console.log(data.movies.filter(movie => movie.movie_details.genre.romance == "yes").map(directorsArr => directorsArr.movie_details.director))
uj5u.com熱心網友回復:
首先,您需要根據浪漫型別過濾您的物件。
let romanceMovies = data.movies.filter(movie => movie.movie_details.genre.romance === "yes")
然后當你有浪漫電影時,你可以映射結果以獲得導演的名字。
let romanceDirectors = romanceMovies.map(movie => movie.movie_details.director)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/385805.html
標籤:javascript json
上一篇:如何處理多個單獨的json回應?
下一篇:將類的實體添加到串列中
