如何阅读JSON字符串[jQuery]

时间:2014-01-19 10:52:07

标签: javascript jquery ajax json

Ajax调用

 $( "#day").datepicker({
    onSelect: function(request) {
        $.ajax({
            type: "POST",
            url: '${pageContext. request. contextPath}/url.htm',
            data: JSON.stringify({
                id: '${someId}'
            }),
           dataType: 'json',
            contentType: "application/json;charset=utf-8",
            success: function (response) {
                if(response.b === true) {
                    $("#fruit").val(response.a);
                }
            }
        }).fail(function(xhr, status, error){
            console.log('error:' + status + ':' + error + ':' + xhr.responseText);
        });
    }
    });

ajax来电的字符串响应如下

{
  "a": "apple",
  "b": true
}

我尝试使用var json = $.parseJSON(response);阅读它并获得异常Uncaught SyntaxError: Unexpected token o

console.log(response);将控制台上的数据显示为

Object {
  "a": "apple",
  "b": true
}

我想获取“a”和“b”的值。怎么能实现这一目标?

3 个答案:

答案 0 :(得分:2)

它已经采用JSON格式。你不需要解析它了。

像这样使用它。

  response.a;
  response.b;

答案 1 :(得分:2)

请检讨一下我做了一些改动:)如果有任何疑问请问我

$( "#day").datepicker({
        onSelect: function(request) {
            $.ajax({
                type: "POST",
                url: '${pageContext. request. contextPath}/url.htm',
                data: JSON.stringify({
                    id: '${someId}'
                }),
                dataType: 'json',
                success: function (response) {
                    if(response['b'] === true) {
                        $("#fruit").val(response['a']);
                    }
                }
            }).fail(function(xhr, status, error){
                console.log('error:' + status + ':' + error + ':' + xhr.responseText);
            });
        }
        });

答案 2 :(得分:1)

检查一下:

var ajaxResult = '{"a":"apple","b": true}';

var json= $.parseJSON(ajaxResult );

console.log(json.a);