我正在解析json文件并将数据附加到HTML表。我需要创建一些等于我的JSON对象中的3个属性的变量。我需要将这些变量包含在一个函数中,我将每个JSON对象附加到表中的一个td元素。
这是我追加数据的功能......
function createPatientTable(json) {
$.each(json.LIST, function(i, COPD_QUAL) {
$('.footable > tbody:last').append('<tr><td>' + COPD_QUAL.PATIENT + '</td><td><a href="javascript:APPLINK(0,\'powerchart.exe\',\'/PERSONID='+COPD_QUAL.PERSON_ID+' /ENCNTRID='+COPD_QUAL.ENCNTR_ID+'\')">' + COPD_QUAL.FIN + '</a></td><td>' + COPD_QUAL.NURSE_UNIT + '</td><td>' + COPD_QUAL.ROOM + '</td><td>' + COPD_QUAL.BED +'</td><td>' + COPD_QUAL.ATTENDING_PHYS + '</td><td>' + COPD_QUAL.LENGTH_OF_STAY + '</td><td class="assessment ' + getSeverity(COPD_QUAL.MED_ASSESS) + '" onclick="openPowerform">' + COPD_QUAL.MED_ASSESS + '</td></tr>');
});
$('.footable').footable();
};
这是我的一个JSON对象(为便于阅读而格式化):
{
"COPD_QUAL":15,
"LIST":[
{
"PATIENT": "TEST, TRICKLE",
"FIN": "70100905",
"NURSE_UNIT": "TIC",
"ROOM": "C219",
"BED": "A",
"ATTENDING_PHYS": "LEVITEN , DANIEL L",
"LENGTH_OF_STAY": "171days 02:14:15",
"MED_ASSESS": "Mild exacerbation",
"ACTIVITY_ID": "305675472.0000",
"PERSON_ID": 8986122.000000,
"ENCNTR_ID": 14150574.000000
}
]
}
我需要将COPD_QUAL.PERSON_ID
,COPD_QUAL.ENCNTR_ID
和COPD_QUAL.ACTIVITY_ID
插入到我的下方函数中,以便在单击td元素时,下面的函数会触发personid,encntrid和activityid已附加到该行的JSON对象:
function openPowerform() {
var dPersonId = "COPD_QUAL.PERSON_ID";
var dEncounterId = "COPD_QUAL.ENCNTR_ID";
var formId = 0.0;
var activityId = "COPD_QUAL.ACTIVITY_ID";
var chartMode = 1;
var mpObj = window.external.DiscernObjectFactory("POWERFORM");
mpObj.OpenForm(dPersonId, dEncounterId, formId, activityId, chartMode);
};
如何成功地使这些变量“动态”等于我的JSON值? (因为我的JSON文件中每个对象/字符串的值不同)。
提前致谢!
答案 0 :(得分:0)
您的JSON格式错误。这是一个有效的对象:
{
"COPD_QUAL": 15,
"LIST": [
{
"PATIENT": "TEST, TRICKLE",
"FIN": "70100905",
"NURSE_UNIT": "TIC",
"ROOM": "C219",
"BED": "A",
"ATTENDING_PHYS": "LEVITEN , DANIEL L",
"LENGTH_OF_STAY": "171days 02:14:15",
"MED_ASSESS": "Mild exacerbation",
"ACTIVITY_ID": "305675472.0000",
"PERSON_ID": 8986122,
"ENCNTR_ID": 14150574
}
]
}
LIST数组中的每个对象都必须通过其数组位置进行寻址。使用此对象,您的对象属性引用将是:
LIST[0].PERSON_ID, LIST[0].ENCNTR_ID, and LIST[0].ACTIVITY_ID
我不知道你最终是否想要构建你的JSON,但这就是你现在所拥有的。此外,没有绝对需要通过JSON.parse()运行它。它可以像JavaScript Object Literal一样对待,并以相同的方式访问。