js中json字符串 转 对象数组后 属性值为 undefined

编程语言
0 7

为什么 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;