通过Jquery的$.Ajax方法得到一个Json,将这个对象输出到屏幕上为: { "Head":
[
{
"name":"aaa",
"sex":"男",
"age":"15",
"date":"2009-6-29 23:00:44"
},
{
"name":"bbb",
"sex":"男",
"age":"21",
"date":"2009-6-29 18:24:53"
},
{
"name":"ccc",
"sex":"男",
"age":"40",
"date":"2009-6-29 18:18:12"
}
]
}
请问这样该怎么解析呀???我新手,希望能给个实例~说详细点,谢谢了~~~
[
{
"name":"aaa",
"sex":"男",
"age":"15",
"date":"2009-6-29 23:00:44"
},
{
"name":"bbb",
"sex":"男",
"age":"21",
"date":"2009-6-29 18:24:53"
},
{
"name":"ccc",
"sex":"男",
"age":"40",
"date":"2009-6-29 18:18:12"
}
]
}
请问这样该怎么解析呀???我新手,希望能给个实例~说详细点,谢谢了~~~
var result = eval(json);
应该就可以了吧。JSON的方便处就在于利用了JavaScript内置的支持,不需要你手动去解析。不过倒过来从客户端到服务器端就没这么容易了,那又是另外的话题了。
另外注意如果你不能保证json字符串的合法性,最好把这句放到try/catch里面,免得一错整个程序都down掉。
还有一点建议就是去下载json程序包,人家已经提供了很多相关功能,以及服务器端相关组件的链接
http://www.json.org/json.js
你可以直接使用下面的命令
var result = eval(json); 这样result就被eval命令"改造"成 JSON变量了.该变量的数据结构如下:result.Head[0].name 的值将是 "aaa"
result.Head[0].sex 的值将是 "男"
result.Head[0].age 的值将是 "15"
result.Head[0].date 的值将是 "2009-6-29 23:00:44 "result.Head[1].name 的值将是 "bbb"
result.Head[1].sex 的值将是 "男"
result.Head[1].age 的值将是 "21"
result.Head[1].date 的值将是 "2009-6-29 18:24:53"result.Head[2].name 的值将是 "ccc"
result.Head[2].sex 的值将是 "男"
result.Head[2].age 的值将是 "40"
result.Head[2].date 的值将是 "2009-6-29 18:18:12 "
希望回答对你有帮助 .
httpres['head'][0]['name'];
httpres['head'][0]['sex'];
httpres['head'][0]['age'];
httpres['head'][0]['date'];
httpres['head'][1]['name'];
httpres['head'][1]['sex'];
httpres['head'][1]['age'];
httpres['head'][1]['date'];
httpres['head'][2]['name'];
httpres['head'][2]['sex'];
httpres['head'][2]['age'];
httpres['head'][2]['date'];
var json={ "Head ":
[
{
"name ": "aaa ",
"sex ": "男 ",
"age ": "15 ",
"date ": "2009-6-29 23:00:44 "
},
{
"name ": "bbb ",
"sex ": "男 ",
"age ": "21 ",
"date ": "2009-6-29 18:24:53 "
},
{
"name ": "ccc ",
"sex ": "男 ",
"age ": "40 ",
"date ": "2009-6-29 18:18:12 "
}
]
}; function $type(o){
if(o == undefined)return false;
var type = typeof o;
if(type == "object" && o.nodeName)
{
switch(o.nodeType)
{
case 1:return "element";
case 3:return /\S/.test(o.nodeValue) ? "textnode" : "whitespace";
}
}
if(type == "object" || type == "function")
{
switch(o.constructor)
{
case Array : return "array";
case RegExp : return "regexp";
}
if(typeof o.length == "number")
{
if(o.item)return "collection";
if(o.callee)return "arguments";
}
}
return type;
}; function ss(o){
if($type(o) == "object")
{
for(var i in o)
{
alert(i+"="+o[i])
if($type(o[i])=="array")
{
for(var j=0;j<o[i].length;j++)
{
if($type(o[i][j])=="object")
arguments.callee(o[i][j]);
}
}
}
}
}ss(json)
</script>
解析成js对象var json; eval('json='+xhr.responseText);