【发布时间】:2019-10-18 11:30:22
【问题描述】:
在我的部分代码中,我从 JSON 文件中提取数据并将其放置在基于对象的数组中。
我成功接收到数据,并且可以将每个数据放在数组中的单个对象上。唯一的问题是,我想为每个对象命名。
var playlist_data = {
"Music1": {
"soundcloud": "Soundcloud Music 1",
"spotify": "Spotify Music 1"
},
"Music2": {
"soundcloud": "Soundcloud Music 2",
"spotify": "Spotify Music 2"
},
"Music3": {
"soundcloud": "Soundcloud Music 3",
"spotify": "Spotify Music 3"
},
"Music4": {
"soundcloud": "Soundcloud Music 4",
"spotify": "Spotify Music 4"
}
};
var links = [];
$.each(playlist_data, function(index, element) {
links.push({
spotify: element.spotify,
soundcloud: element.soundcloud,
});
});
console.log(links);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
在上面的代码中看似复制了相同的 JSON 数据,但它是一个简化版本。
因此,我想将其称为 links.Music2 和 links.Music2.spotify
【问题讨论】:
-
你不能命名数组中的元素,所以你需要使用一个对象。 然而然后你回到exact与你的JSON相同的数据结构,所以你的循环是完全多余的
-
@RoryMcCrossan 是的,没错。但是主要的 json 文件比这个包含各种数据的文件要长得多。所以我喜欢用特定数据制作一个较小版本的 main json。
标签: javascript jquery arrays json object