计数JSON对象的属性-React Native

时间:2019-02-21 13:21:53

标签: javascript json react-native object count

即使这看起来似乎可以通过简单的google搜索轻松找到,但遗憾的是它不能。 这是我的问题:我在服务器上有一个JSON对象,正在获取它,我想计算该对象中有多少个属性。

我尝试过:var count = Object.keys(object).length;,但它仅计算那里有多少个对象。

我也尝试过:

var array = [];
    for (let prop in res) {
      array.push(res[prop]);
    }

我将打印整个对象console.log(array),但是我只需要一些属性。

这是我的JSON对象:

   {  
   "results":[  
      {  
         "title":"Document 1",
         "content":"some content of document here",
         "fillable_fields":{  
            "field1":"",
            "field2":"",
            "field3":""
         },

         "picture":{  
            "medium":"https://randomuser.me/api/portraits/med/men/42.jpg"
         }
      },


      {  
         "title":"Document 2",
         "content":"some content of document2 here",
         "fillable_fields":{  
            "field1":"",
            "field2":"",
            "field3":""
         },

         "picture":{  
            "medium":"https://randomuser.me/api/portraits/med/men/42.jpg"
         }
      }
      ]
}

1 个答案:

答案 0 :(得分:0)

为了访问fillable_fields数组,您需要遍历对象的属性。由于results是一个数组,因此可以通过使用索引0获取此数组中的第一个对象。您要访问此数组中的第一个对象,因为它是fillable_fields数组所在的位置。

一旦检索到索引0的对象,就可以进一步使用dot notation访问contract对象,然后访问fillable_fields数组。

最后,您可以使用.length属性获取数组中的项目数。

使用所有这些,您将获得以下访问器:

object.results[0].contract.fillable_fields.length

请参见下面的工作示例:

const object={results:[{contract:{fillable_fields:["field1","field2","field3"],title:"Contract test",sub:"You can always follow the progress of your application by logging on the the application portal."},picture:{medium:"https://www.healthcaredenmark.dk/media/11272/bridgeit_logo.png"}}]};

console.log(object.results[0].contract.fillable_fields.length);

编辑:

根据您的修改,您可以使用.reduce()遍历results数组,然后将destructuring assignmentObject.keys一起使用以获取每个{ {1}}个对象:

fillable_fields