首页 > 解决方案 > 对象到数组 JSON 没有 JQuery

问题描述

我有一个对象:

tracks  […]
albums  {…}
artists {…}

{"4rF7c8zpCKzuSXohs2HIpA":{"name":"Steven Universe","href":"https://api.spotify.com/v1/artists/4rF7c8zpCKzuSXohs2HIpA"},
"57YFNq46Xx86nl7ETkd1Ei":{"name":"Zach Callison","href":"https://api.spotify.com/v1/artists/57YFNq46Xx86nl7ETkd1Ei"}

它包含更多上述对象/数组。如何在代码中调用它们以便获得包含信息的数组?

如果我能得到帮助,那么我可能也可以解决其他问题。

我正在尝试获取 originalData.name 以获取对象中的名称值,但它不起作用。

fetch('my_url')
    .then(function(response) {
        return response.json();
    })
    .then(function(myJson) {
        var myObj = myJson // Is a Javascript object containing albums, artist & tracks.
        console.log(myJson)
        var artists = myObj.artists;
        var artistsString = JSON.stringify(artists);
        console.log(artists)
        console.log(artistsString)

        var originalData = JSON.parse(artistsString)
        console.log(originalData)
        console.log(originalData.name)


    });

我希望在一个数组中看到名称值,然后我可以对其进行排序。

标签: javascriptarraysjsonobject

解决方案


根据你的 JSON。我猜是这样的

const rawData = {
  0: {
    artist: "Some name",
    track: "Some track"
  },
  1: {
    artist: "Some name - 2",
    track: "Some track - 2"
  }
};

const artists = Object.values(rawData).map(obj => obj.artist);
console.log(artists);


推荐阅读