如何正确访问JSON数组itens中的单个元素?
正确访问JSON数组元素的方法
你之前的错误在于把数组索引直接写在了键名里(["STRING[0]"]),这种写法会把STRING[0]当成一个完整的键去查找,而实际上STRING对应的是一个数组,正确的访问方式应该是先获取数组,再通过索引定位元素,或者在链式访问时直接给数组加索引。
方法一:先获取数组再访问元素
// 先拿到整个STRING数组 var itens = jsonObject["soap:Envelope"]["soap:Body"]["PERAQCONSULTARESPONSE"]["PERAQCONSULTARESULT"]["STRING"]; // 访问第一个元素(索引从0开始) var status = itens[0]; // 结果为"S" // 访问第二行数据 var secondRow = itens[1]; // 访问第三行数据 var thirdRow = itens[2];
方法二:链式访问直接定位元素
如果不想单独存储数组,也可以直接在链式访问中给数组添加索引:
// 直接获取第一个元素 var status = jsonObject["soap:Envelope"]["soap:Body"]["PERAQCONSULTARESPONSE"]["PERAQCONSULTARESULT"]["STRING"][0]; // 直接获取第二行数据 var secondRow = jsonObject["soap:Envelope"]["soap:Body"]["PERAQCONSULTARESPONSE"]["PERAQCONSULTARESULT"]["STRING"][1];
提取第二行中的指定字段
如果需要从第二行的分号分隔字符串里提取特定内容,可以用split()方法分割成数组后再取值:
var secondRow = jsonObject["soap:Envelope"]["soap:Body"]["PERAQCONSULTARESPONSE"]["PERAQCONSULTARESULT"]["STRING"][1]; // 按分号分割成数组 var fields = secondRow.split(';'); // 比如提取第3个字段(索引2,对应值310990) var targetValue = fields[2];
内容的提问来源于stack exchange,提问作者Vinícius Henrique Rocha da Luz
相关产品推荐
相关产品推荐

