[英]How can I reformat API results into a dictionary then use that dictionary?
我有一個任務,我需要使用默認情況下無法使用的密鑰來鍵入 API。 目前,我正在使用 getJSON 從 API 中提取數據,如下面的代碼所示:
$(document).ready(function() {
$.getJSON("https://api.nasa.gov/mars-photos/api/v1/manifests/curiosity?api_key=DEMO_KEY", function(data){
console.log(data);
});
});
這是有道理的,但我被困在這里。 本質上,我想重新格式化 API 結果並將它們存儲在字典中,以便我可以使用“sol”鍵入結果。 理想情況下,字典將只包含鍵“sol”、它的值和鍵“cameras”,以及它在照片中每個部分的值,如 API 中所示。
此外,您 go 如何使用 sol 值鍵入字典,並返回與該 sol 值關聯的相機?
編輯:下面的代碼效果很好,但我沒有看到在全局使用相機后需要添加什么。
let new_dict = { "sol": {}, "cameras": {} };
$(document).ready(function(){
$.getJSON("https://api.nasa.gov/mars-photos/api/v1/manifests/curiosity?api_key=0L4UJKm4YYvddR1QdZdCihRwQIqKBGrPErgFqUsw", function(data){
let photos = data["photo_manifest"]["photos"];
let sol_arr = [];
for(x in photos){
let photo = photos[x];
let sol = photo.sol;
let cameras = photo.cameras;
sol_arr.push(sol);
new_dict["cameras"][sol] = cameras;
}
new_dict["sol"] = sol_arr;
let sol_value = 1;
let camera = new_dict["cameras"][sol_value];
});
});
$.getJSON("https://api.nasa.gov/mars-photos/api/v1/manifests/curiosity?api_key=DEMO_KEY", function(data){
let photos = data["photo_manifest"]["photos"];
let new_dict = { "sol" : {}, "cameras": {} };
let sol_arr = [];
for(x in photos){
let photo = photos[x];
let sol = photo.sol;
let cameras = photo.cameras;
sol_arr.push(sol);
new_dict["cameras"][sol] = cameras;
}
new_dict["sol"] = sol_arr;
});
要使用 sol 值鍵入字典,您只需要將 sol 值放入
let sol_value = 1;
console.log(new_dict["cameras"][sol_value]); //this contains the cameras with the sol value 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.