2017-09-13 472 views
0

我使用Postman的控制檯來顯示API調用的響應與console.log,因爲我有很多迭代,所以我使用了runner。但是,API響應中的很多信息給我帶來了麻煩,所以我想要做的是使用console.log打印responseBody的特定信息。Postman打印來自Response的特定信息

與郵差測試中,我使用以下:

var body = JSON.parse(responseBody); 
console.log(JSON.stringify(body.data)); 

的響應是:

[{ 「設備」: 「1BED7」, 「時間」:1505320342」數據 「:」 05b006bcac00000000000000" , 「SNR」: 「21.00」, 「linkQuality」: 「平均」, 「seqNumber」:555, 「rinfos」:[{ 「抽頭」: 「A2A」, 「延遲」:1.4,」 LAT 「:」 53.0" , 「LNG」: 「2.0」},{ 「抽頭」: 「A2B」, 「延遲」:0.5, 「LAT」: 「53.0」, 「LNG」: 「2.0」}]}, { 「設備」: 「1CED7」, 「時間」:1505277142 「數據」: 「05b006bcac00000000000000」, 「SNR」: 「20.68」, 「linkQuality」: 「平均」, 「seqNumber」:554, 「rinfos」:[ { 「敲擊」: 「A2C」, 「延遲」:1.3, 「LAT」: 「53.0」, 「LNG」:」 2.0 「},{」 抽頭 「:」 232" , 「延遲」:1.9, 「LAT」: 「53.0」, 「LNG」: 「2.0」}]},{ 「設備」: 「152C3」, 「時間」 :1505233937 「數據」: 「05b006bcac00000000000000」, 「SNR」: 「19.14」, 「linkQuality」: 「平均」, 「seqNumber」:553, 「rinfos」:[{ 「抽頭」: 「215」, 「延遲」 :2.4, 「LAT」: 「53.0」, 「LNG」: 「2.0」}]},{ 「設備」: 「1BF81」, 「時間」:1505190735 「數據」: 「05b006bcac00000000000000」, 「SNR」:」 21.67" , 「linkQuality」: 「平均」, 「seqNumber」:552, 「rinfos」:[{ 「抽頭」: 「1CC」, 「延遲」:2.0, 「LAT」: 「53.0」, 「LNG」:」 2.0「},{」tap「:」25A「,」delay「:1.6,」lat「:」53.0「,」lng「:」2.0「}]},

我想打印與console.log將只是設備,時間和數據的值:

{「1BED7」,1505320342,「05b006bcac00000000000000」},{「1CED7」,15 05277142 「05b006bcac00000000000000」},{ 「152C3」 1505233937 「05b006bcac00000000000000」}, 等等...

我的編程技巧是非常有限的很抱歉,如果答案是那麼明顯,我已經測試很多事情,但我仍然堅持。

非常感謝,如果你能幫助

+0

'的console.log(body.data.device);'等其它相關數據 – Debabrata

+0

謝謝您的回答。但是,它不起作用,當我使用'console.log(body.data.device)'時,我使用\t ',我在控制檯中有一個「空」作爲響應 – Geljef

+0

是啊。我現在看到了。那時你是顯示你的控制檯的圖像,所以我不明白 – Debabrata

回答

0

我覺得你對你的反應是objects.It的陣列已經是一個JSON object.So首先你在做什麼錯的是你不需要解析it.You可以直接使用它。在下面的代碼片段中查看答案的結尾。我認爲這滿足您的需求。我使用forEach函數遍歷響應數組並將您需要的值傳遞到空數組中。此結果數組包含以下格式的對象。您可以通過javascript . operator來訪問此數組的每個對象的每個屬性。我認爲這對您來說是非常明顯的。
[ { "device": "1BED7", "time": 1505320342, "data": "05b006bcac00000000000000" }, { "device": "1CED7", "time": 1505277142, "data": "05b006bcac00000000000000" }, { "device": "152C3", "time": 1505233937, "data": "05b006bcac00000000000000" }, { "device": "1BF81", "time": 1505190735, "data": "05b006bcac00000000000000" } ]

var responseBody=[{"device":"1BED7","time":1505320342,"data":"05b006bcac00000000000000","snr":"21.00","linkQuality":"AVERAGE","seqNumber":555,"rinfos":[{"tap":"A2A","delay":1.4,"lat":"53.0","lng":"2.0"},{"tap":"A2B","delay":0.5,"lat":"53.0","lng":"2.0"}]}, 
 
    {"device":"1CED7","time":1505277142,"data":"05b006bcac00000000000000","snr":"20.68","linkQuality":"AVERAGE","seqNumber":554,"rinfos":[{"tap":"A2C","delay":1.3,"lat":"53.0","lng":"2.0"},{"tap":"232","delay":1.9,"lat":"53.0","lng":"2.0"}]},{"device":"152C3","time":1505233937,"data":"05b006bcac00000000000000","snr":"19.14","linkQuality":"AVERAGE","seqNumber":553,"rinfos":[{"tap":"215","delay":2.4,"lat":"53.0","lng":"2.0"}]},{"device":"1BF81","time":1505190735,"data":"05b006bcac00000000000000","snr":"21.67","linkQuality":"AVERAGE","seqNumber":552,"rinfos":[{"tap":"1CC","delay":2.0,"lat":"53.0","lng":"2.0"},{"tap":"25A","delay":1.6,"lat":"53.0","lng":"2.0"}]}]; 
 
var array=[]; 
 
responseBody.forEach(function (obj) { 
 
    array.push({device:obj.device,time:obj.time,data:obj.data}) 
 
}) 
 
console.log(array);

+0

非常感謝,這工作!我現在確切地看到我做錯了什麼。謝謝你的解釋! – Geljef

0
let results = _.map(JSON.parse(responseBody), 
    (sensor) => { return [sensor.device, sensor.time, sensor.data]}); 

// results contains an array like 
// [[deviceId1, time1, data1], [deviceId1, time1, data1], ...] 

console.log(results); 
+0

這個工作也是!非常感謝您的回答! – Geljef