首页 > 解决方案 > 从 json 文件中获取详细数据

问题描述

我有一个这样的json文件

{
    "doctors": [{
        "name": "...",
        "Section": "...",
        "Grade": "..."
    },
    {
        "name": "...",
        "Section": "...",
        "Grade": "..."
    }],
    "nurses": [{
        "name": "...",
        "Grade": "..."
    },
    {
        "name": "...",
        "Grade": "..."
    },
    {
        "name": "...",
        "Grade": "..."
    },
    {
        "name": "...",
        "Grade": "..."
    }]
}

在 html 文件的脚本标记内,我定义了一个 loadData 函数,当按下按钮时调用该函数。

function loadStaffData() {
        var xo = new XMLHttpRequest();
        xo.overrideMimeType("application/json");
        xo.open('GET', 'staff_data.json', true); 
        xo.onreadystatechange = function () {
            if (xo.readyState == 4 && xo.status == "200") {                  

              var X=JSON.parse(xo.responseText);
              console.log(X); //line 18
            }
          };
          xo.send(null);
        }

现在我只能在 json 文件中获取整个数据集。但我需要啤酒才能分别检索每个医生/护士的姓名/部门/性别。我试过打字 xo.responseText('doctors'[0]),甚至xo.responseText([0][0]),但没有一个工作。

编辑 我也尝试过解析 responseText: JSON.parse(xo.responseText)。但我有这个错误:JSON.parse: expected ',' or '}' after property value in object at line 18

json 文件在我的本地磁盘上,我使用 firefox(开发人员版)来获取输出。

标签: javascriptjson

解决方案


尝试:

JSON.parse(xo.responseText)["医生"][0]

您需要解析请求响应,然后您可以选择数据。


推荐阅读