我有两种类型的
JSON结果:
- {
- "person":{
- "fname": "Homer","lname": "Simpson"
- }
- }
- {
- "person":[
- {
- "fname": "Homer","lname": "Simpson"
- },{
- "fname": "Marge","lname": "Simpson"
- }
- ]
- }
我想使用jQuery“each”:
- $.each(response.person,function(i,person){...
但是当JSON有一个人与多个人时,“我”和“人”是不同的.
我看到单人响应没有数组“[]”,但是当我:
- $.each([response.person],person){...
然后多人不起作用.
我正在寻找一种规范化事物的方法,以便我可以持续使用“每个”.
解决方法
测试它是否是一个数组.
- $.each(($.isArray(response.person) ? response.person : [response.person]),person){...
或者您可以在迭代之前修改对象:
- if (!$.isArray(response.person)) {
- response.person = [response.person];
- }
- $.each(response.person,person){...