Javid Haji-zada
Javid Haji-zada

Reputation: 85

How to convert JSON object into an array in React Native

I am getting a JSON object from Firebase. I am trying to convert it into an array of objects.

I can solve this by getting childs from Firebase one-by-one and add them into array however, that is not a good practice for my case.

The format of JSON object is as following:

key: {
      id1: {some stuff here},
      id2: {some other stuff},
    ...
}

Now what I want to get from this JSON object is :

arrayName: [
         {id1:{some stuff here},
         id2:{some other stuff}
]

Hope my description if fully understandable. Any help would be appreciated

Upvotes: 2

Views: 18534

Answers (3)

mccallofthewild
mccallofthewild

Reputation: 520

Using Object.entries, you can avoid the extra hash lookup on every item.

const x = { foo: 11, bar: 42 };
const result = Object.entries(x).map(([key, val]) => ({
  [key]: val
}));
console.log(result);

Upvotes: 2

Nick.K
Nick.K

Reputation: 398

This code worked for me.

const JSONString = res.data;
      object = JSON.parse(JSONString);
      array = Object.keys(object).map(function(k) {
        return object[k];
      });

Where res.data is the response I am getting from an api

Upvotes: 7

Christian Vincenzo Traina
Christian Vincenzo Traina

Reputation: 10374

This is just plain javascript, it has nothing to do with react native. By the way, you can use Object.keys to get an array with all the keys, then map the strings as objects:

const x = {foo: 11, bar: 42};
const result = Object.keys(x).map(key => ({[key]: x[key]}));
console.log(result);

Upvotes: 5

Related Questions