使用jQuery读取含数组的JSON数据时功能失效问题咨询
问题原因及修复方案
1. JSON格式不合法
你当前使用的数组结构JSON不符合语法规范,多个对象组成数组时必须用方括号[]在外层包裹,修正后的合法格式如下:
[ {"OUTPUTA":"TRUE","OUTPUTB":"TRUE"}, {"OUTPUTC":"FALSE","OUTPUTD":"TRUE"} ]
注:原示例中的FULSE为拼写错误,正确值应为FALSE。
2. 取值语法错误
原代码中data.[1][OUTPUTA]存在多处语法和逻辑问题:
- 点运算符和中括号运算符不能连用,需去掉
data后多余的. - 用中括号取对象字符串键时,键名必须加引号,否则JS会将
OUTPUTA识别为未定义变量 - 数组索引从0开始计数,
OUTPUTA字段存在于第一个对象中,对应索引为0而非1,索引1对应的第二个对象本身不存在OUTPUTA字段,取值会返回undefined
修正后的代码
function update(x) { $.getJSON('/_ConfigJSON', { buttondata: x, }, function (data) { $("#BUTTONA").text(data[0].OUTPUTA); }); }
内容的提问来源于stack exchange,提问作者James G
相关产品推荐
相关产品推荐

