javascript - 从 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(开发人员版)来获取输出。
解决方案
尝试:
JSON.parse(xo.responseText)["医生"][0]
您需要解析请求响应,然后您可以选择数据。
推荐阅读
- ruby-on-rails - 在 Rails 应用程序中保存/更新一次性时间戳的正确方法
- java - Dagger 2 模块与子组件
- apache - Fedora 上的 Xamp 无法启动
- cordova - 静默通知 - 在后台接收通知而不点击通知
- ios - “Item”类型的值没有成员“parentCategory”
- reactjs - iOS - 应用程序仅在配置 Firebase 时安装后崩溃
- f# - F# 油门函数调用频率
- r - 使用 by 重塑 data.table
- android - React Navigation - 在 Blurview 中包装标题和选项卡导航器会丢失道具
- excel - 从 Excel 更新 Access 中的表时出现 VBA 错误 462