为什么 JavaScript 中 json字符串 转 对象数组后 属性值为 undefined ?
场景
- 我使用 JSON对象 的 parse()方法 ,把后端响应回来的 JSON格式 的字符串 转为 一个对象数组 后,从这个对象数组中取出来的属性值却为 undefined ?
问题
- json字符串没问题,但转成 jsonArray后,获取对象属性值却为 undefined
原因
- 拿到来自 servlet中response 相应回来的响应文本 responseText为 JSON字符串,利用 JSON对象的parse()方法,没有把JSON字符串直接传进去,导致处理JSON字符串出错。
解决
- 把JSON字符串的 responseText , 直接传给 JSON.parse(responseText);
注
- 此时 responseText 已经为处理好的 JSON字符串,这是在 servlet把结果处理成 JSON字符串才传到浏览器端。
success: function (response) {
console.log(response)
jsondata = JSON.parse(response);
var age = jsondata.age;
var ageValue = jsondata['age'];
console.log(age)
console.log(ageValue)
console.log(JSON.parse(response))
document.getElementById('someElementId').innerHTML = response;