我有一个JSON文件。我必须在该文件中读取JSON文件,WinType是该字段中的两个值Nominated和Win。我必须将此值安排到表中,如1 = Win和0 = Nominated。但是有一段时间,如果那个时候在json文件中找不到记录,我想<td> </td>
空白。所以我的表如下所示
<html>
<body>
<TABLE BORDER=2 BORDERCOLOR=RED>
<TR>
<TD>12 Years a Slave</TD>
<TD>1</TD>
<TD></TD>
<TD>0</TD>
</TR>
<TR>
<TD>American Hustle</TD>
<TD>0</TD>
<TD>0</TD>
<TD>1</TD>
</TR>
<TR>
<TD>Captain Phillips</TD>
<TD></TD>
<TD>0</TD>
<TD>1</TD>
</TR>
</TABLE>
</body>
</html>
我的JSON文件是:
[{
"ID": 1,
"Nominee": "12 Years a Slave",
"WinProbability": 0.00,
"WinType": "Win"
}, {
"ID": 3,
"Nominee": "12 Years a Slave",
"WinProbability": 0.66,
"WinType": "Nominated"
}, {
"ID": 1,
"Nominee": "American Hustle",
"WinProbability": 1.62,
"WinType": "Nominated"
}, {
"ID": 2,
"Nominee": "American Hustle",
"WinProbability": 0.85,
"WinType": "Win"
}, {
"ID": 3,
"Nominee": "American Hustle",
"WinProbability": 0.07,
"WinType": "Win"
}, {
"ID": 2,
"Nominee": "Captain Phillips",
"WinProbability": 0.00,
"WinType": "Win"
}, {
"ID": 3,
"Nominee": "Captain Phillips",
"WinProbability": 1.52,
"WinType": "Win"
}]
我试图但不能正常工作。
尝试过的代码:
$.ajax({
url: 'movie.json',
dataType: 'json',
success: function(data) {
var groupByNominee = data.reduce(function(rv, x) {
(rv[x['Nominee']] = rv[x['Nominee']] || []).push(x);
return rv;
}, {});
$(Object.keys(groupByNominee).map((nom) =>
`<TR>
<TD>${nom}</TD>
${groupByNominee[nom].map((item)=>
`<TD>
${(item.WinType==='Win')?1:0}
</TD>`
).join('')
}
</TR>`
).join('')).appendTo('#Table');
}
});
假设您只是可能缺少WinType属性,请尝试以下操作:
$.ajax({
url: 'movie.json',
dataType: 'json',
success: function(data) {
var groupByNominee = data.reduce(function(rv, x) {
(rv[x['Nominee']] = rv[x['Nominee']] || []).push(x);
return rv;
}, {});
$(Object.keys(groupByNominee).map((nom) =>
`<TR>
<TD>${nom}</TD>
${groupByNominee[nom].map((item)=>
`<TD>
${(typeof(item.WinType) !== 'undefined' && item.WinType.length > 0) ? (item.WinType === 'Win' ? '1' : '0') : ''}
</TD>`
).join('')
}
</TR>`
).join('')).appendTo('#Table');
}
});
这应该检查WinType属性是否存在并且其长度(如果找到)大于0,然后再检查其是否等于Win。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句