Ведение журнала JSON body работает, но не body.item.Дает неопределенный - PullRequest
0 голосов
/ 07 июня 2018

Эта функция создает список воспроизведения с помощью API Spotify.Который возвращает тело с нужным мне 'id'.

function createPlaylist(pc) {
    let index = partyCodeExists(pc)
    let at = token_arr[index]
    let userID = user_ids[index]
    var authOptions = {
        url: 'https://api.spotify.com/v1/users/' + userID + '/playlists',
        body: JSON.stringify({
            'name': pc,
            'description': 'Jukibox playlist',
            'public': false
        }),
        dataType: 'json',
        headers: {
            'Authorization': 'Bearer ' + at,
            'Content-Type': 'application/json'
        }
    };
    request.post(authOptions, function (error, response, body) {
        console.log(body);
        console.log(body.id);
    });
};

Журналы нижней консоли дают следующий вывод:

{
    "collaborative" : false,
    "description" : null,
    "external_urls" : {
        "spotify" : "https://open.spotify.com/user/larsonadam-us/playlist/5pZ3C6ZRB3C9Tv9Z3EdA0g"
    },
    "followers" : {
        "href" : null,
        "total" : 0
    },
    "href" : "https://api.spotify.com/v1/users/larsonadam-us/playlists/5pZ3C6ZRB3C9Tv9Z3EdA0g",
    "id" : "5pZ3C6ZRB3C9Tv9Z3EdA0g",
    "images" : [ ],
    "name" : null,
    "owner" : {
        "display_name" : null,
        "external_urls" : {
            "spotify" : "https://open.spotify.com/user/larsonadam-us"
        },
        "href" : "https://api.spotify.com/v1/users/larsonadam-us",
        "id" : "larsonadam-us",
        "type" : "user",
        "uri" : "spotify:user:larsonadam-us"
    },
    "primary_color" : null,
    "public" : true,
    "snapshot_id" : "90UhGQhCi0Xq2vch8g/wrQ5BZoKK5cmIkiwybqJLUIsEAljI+L90YPzpD59T8zwP",
    "tracks" : {
        "href" : "https://api.spotify.com/v1/users/larsonadam-us/playlists/5pZ3C6ZRB3C9Tv9Z3EdA0g/tracks",
        "items" : [ ],
        "limit" : 100,
        "next" : null,
        "offset" : 0,
        "previous" : null,
        "total" : 0
    },
    "type" : "playlist",
    "uri" : "spotify:user:larsonadam-us:playlist:5pZ3C6ZRB3C9Tv9Z3EdA0g"
}
undefined

Почему второй параметр отображает неопределенное значение?

Еще одно замечание, у меня есть анализатор тела, и он работает в других областях кода

1 Ответ

0 голосов
/ 07 июня 2018

Проблема в том, что возвращаемое значение является строкой.Вы должны обработать возврат, прежде чем вы получите ID.Попробуйте это.

console.log(body) 
let bodyObject = JSON.parse(body) 
console.log(bodyObject.id)
...