简体   繁体   English

如何从 Javascript 中的本地 JSON 文件获取数据

[英]How to get data from a local JSON file in Javascript

I'm trying to retrieve a specific ID from the JSON file depending on user input and then display a picture based on the ID retrieved from the JSON file我正在尝试根据用户输入从 JSON 文件中检索特定 ID,然后根据从 JSON 文件中检索到的 ID 显示图片

function showCard() {
    var cardNaqme = document.getElementById('un').value;
    var cardNameProper = cardName.replace(/\s/g, '');
    var obj = JSON.parse("https://db.ygoprodeck.com/api/v7/cardinfo.php"+cardNameProper)
    var imgId = obj["data"][0]["id"]
    document.getElementById("chosenCard").src = "https://storage.googleapis.com/ygoprodeck.com/pics_small/"+imgId+".jgp";
    event.preventDefault();
}

I think what you need is below but I am not sure I understood your json structure:我认为您需要的是以下内容,但我不确定我是否理解您的 json 结构:

var cardNaqme = document.getElementById('un').value;
var cardNameProper = cardName.replace(/\s/g, '');
var oReq = new XMLHttpRequest();
oReq.open("GET", "https://db.ygoprodeck.com/api/v7/cardinfo.php"+cardNameProper", true);
oReq.responseType  = "json";
oReq.onload = function(e) {
      JSONObject json = new JSONObject(res);
      JSONArray ja = json.getJSONArray("data");
      JSONObject obj = ja.getJSONObject(0);
      var imgId = obj.id;
      document.getElementById("chosenCard").src = "https://storage.googleapis.com/ygoprodeck.com/pics_small/"+imgId+".jgp";
}
oReq.send();
            

I tried to answer your problem after identifying your problem.在确定您的问题后,我试图回答您的问题。

function showCard()
{
event.preventDefault();
var cardNaqme = document.getElementById('un').value;
var cardNameProper = cardName.replace(/\s/g, '');
var obj = JSON.parse("https://db.ygoprodeck.com/api/v7/cardinfo.php"+cardNameProper)
var imgId = obj[0].id
document.getElementById("chosenCard").src = 
"https://storage.googleapis.com/ygoprodeck.com/pics_small/"+imgId+".jpg";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM