如何解析从URL检索的JSON?
问题描述:
我想在JSP中检索和解析JSON。该URL返回以下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>
我无法理解什么错误。
答
您已将数据类型设置为'text'
而不是'json'
。这是行不通的。修复或删除它。如果在服务器端正确设置了Content-Type
标头,则$.get()
将返回data
作为JSON。假设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"]
});