访问 JSON 响应中的特定元素(通常的方法不起作用)

Posted

技术标签:

【中文标题】访问 JSON 响应中的特定元素(通常的方法不起作用)【英文标题】:Accessing specific element in JSON response (usual approaches not working) 【发布时间】:2019-12-06 04:23:32 【问题描述】:
https://api.spotify.com/v1/audio-analysis/track

以上是对来自 Spotify 的歌曲进行音频分析的 GET 请求。如何更改请求以使其仅返回例如歌曲的键或歌曲的速度?我已经尝试了所有常用的方法,并且一直在尝试和错误各种方法,例如 https://api.spotify.com/v1/audio-analysis/track[0].analyzer_version 。但似乎没有一个可行 - 有什么想法吗?


    "meta": 
        "analyzer_version": "4.0.0",
        "platform": "Linux",
        "detailed_status": "OK",
        "status_code": 0,
        "timestamp": 1564300048,
        "analysis_time": 5.51708,
        "input_process": "libvorbisfile L+R 44100->22050"
    ,
    "track": 
        "num_samples": 4813662,
        "duration": 218.30667,
        "sample_md5": "",
        "offset_seconds": 0,
        "window_seconds": 0,
        "analysis_sample_rate": 22050,
        "analysis_channels": 1,
        "end_of_fade_in": 0.00000,
        "start_of_fade_out": 192.80109,
        "loudness": -13.957,
        "tempo": 91.452,
        "tempo_confidence": 0.787,
        "time_signature": 4,
        "time_signature_confidence": 1.000,
        "key": 2,
        "key_confidence": 0.264,
        "mode": 0,
        "mode_confidence": 0.427,
        "codestring": "eJxNm4mVLDcOBF1pE3gf_jumiGS3_ujt6g3ZVUUSRyIBUOO2dXar91M-

以下示例请求的结果:

【问题讨论】:

【参考方案1】:
spotifyApi.getAudioAnalysisForTrack('4AKUOaCRcoKTFnVI9LtsrN').then(
                function(data) 
                    var analysis = console.log('Analyser Version', data.body.meta.analyzer_version);
                ,
                function(err) 
                    console.error(err);
                
            );

下面是代码中的操作方法^^。奇怪的是,我无法让它在 Postman 中工作......

【讨论】:

以上是关于访问 JSON 响应中的特定元素(通常的方法不起作用)的主要内容,如果未能解决你的问题,请参考以下文章

获取span web元素的Xpath

如何使用 getJSONArray 方法访问 json 对象的嵌套元素

如何从 JMeter 的 json 响应中的长 html 内容中提取特定的 *token* 值

将 JSON 格式化为特定结构

如何忽略 JSON 响应中列表中的特定字段

如何识别 JSON 响应中的特定值