为什么我不能从这个基本的JSON示例中提取数据

时间:2016-07-12 10:27:53

标签: json

这是我的Java脚本

    function displayCustomerData( p_customername ) 
    {       
        $.ajax({
            url: 'myservlet',
            type: 'GET',
            data: { requesttype : "getcustomerdata" , 
                    customername : p_customername } ,
                    contentType: 'application/json; charset=utf-8',
                    success: function ( data ) 
                    {
                        $("#usernametxt").val( data.customer);
                    },
                    error: function () {
                        alert("Error loading customer data");
                    }
        }); 

在服务器端我使用Gson库生成JSON

  Gson gson = new Gson();

  return gson.toJson( customerData );

customerData是一个带有两个字符串字段的简单POJO

我在服务器的成功响应中有一个断点

这就是"数据"当我尝试从中获取数据时,变量包含在我的调试器中

       data     "{"customer":"cuatomer A","userName":"user A"}"

但在我的浏览器控制台上,当我这样做时,#c; data.customer"它告诉我客户未定义? 这表明JSON数据有问题,但我没有看到任何错误,我不能再盯着它了......任何人都看到了什么?

我在Chrome和Firefox上试过它,这是一个浏览器问题,两者都有同样的问题。

1 个答案:

答案 0 :(得分:0)

你可以像使用JSON.parse(数据)一样解析数据并尝试使用data.customer你可以获得结果....

 function displayCustomerData( p_customername ) 
   {       
       $.ajax({
           url: 'myservlet',
           type: 'GET',
           data: { requesttype : "getcustomerdata" , 
                   customername : p_customername } ,
                   contentType: 'application/json; charset=utf-8',
                   success: function ( data ) 
                   {
                        var data1 = JSON.parse(data);
                       $("#usernametxt").val( data1.customer);
                   },
                   error: function () {
                       alert("Error loading customer data");
                   }
       });