如何解析从URL检索到的JSON?

时间:2012-02-15 05:57:41

标签: jquery json jsp

我正在尝试在JSP中检索和解析JSON。 URL返回以下JSON字符串:

{"status":1,"msg":"List of Rooms","id":["1","2","3"],"name":["php","Java","myroom4"]}

我试图按如下方式解析它:

<script type="text/javascript" charset="utf-8">
    $.get('url', function(data, textStatus) {
        alert('Status is '+textStatus);
        alert('JSON data string is: '+data);

        var myJson = JSON.parse(data);
        var myJson = JSON.parse(textStatus);
        var myJsonObj = jsonParse(myJson);

        var x=document.getElementById("Roomcount");
        alert(x.innerHTML);
    }, 'text');
</script>

我无法理解出了什么问题。

1 个答案:

答案 0 :(得分:0)

您已将数据类型设置为'text'而非'json'。这不会起作用。修复或删除它。如果在服务器端正确设置$.get()标头,则data将以{J}返回Content-Type。假设URL指向servlet,则需要在写入响应之前添加此行:

response.setContentType("application/json");

这样data将直接成为您可以访问的JSON对象,如下所示:

$.get('url', function(data) {
    alert(data.status); // 1
    alert(data.msg); // List of rooms
    alert(data.id); // ["1","2","3"]
    alert(data.name); // ["php","Java","myroom4"]
});