我在StackOverflow上发现了很多线程,讨论解析json数组,但我似乎无法弄清楚如何找回某些数据。以下是我有...在JavaScript中解析json数组与未知的字段名称
$('#keyword_form').submit(function(e){
var gj = $.post('employee_search.php',$('#keyword_form').serialize(),function(data){
if(!data || data.status !=1)
{
alert(data.message);
return false;
}
else
{
alert(data.message);
}
},'json');
e.preventDefault();
});
JSON数据发送给它看起来像这样...
{
"status":1,
"message":"Query executed in 9.946837 seconds.",
"usernames_count":{
"gjrowe":5,
"alisonrowe":4,
"bob":"1"
}
}
正如我的功能显示我可以做alert(data.message);
,但我怎么能访问usernames_count
数据?
我的疑惑来自数据没有名称/标签的事实。 bob
是一个用户名和1
是与该用户名
相关联。如果我做alert(usernames_count);
我回来[object Object]
如果我做alert(usernames_count[0]);
我回来了返回的计数undefined
我相信我应该做的事与JSON.parse();
,但我还没有得到它的权利尚未
您是否有可能更改返回的数据? 'usernames_count'应该是一个数字,一个新的'users'字段应该是一个拥有用户的数组。你不觉得吗? –
可能会让您感到困惑的一件事是,usernames_count不是数组,它是一个JSON对象。 – elevine
这是一个JavaScript对象,因此您可以使用'for ... in'或'Object.keys'来遍历这些键。在ES6中,你也可以“为... ...”。 – ZER0