Search code examples
androidfirebasesimplification

Clearer Format Firebase Android retrieved data


When I retrieve my data it contains brackets { and unique id such as - JSDHGJDGJJSKA ... I want to make it cleaner and get rid of the brackets for e.g. my output is:

{-JfFQQRYnhiKeuN5ERGX={msg=Monday},-JfFQAhQQWIFAUuV1nD4={msg=this is test}}

I want to get rid of the brackets and the word msg and retrieve just one of the message at random.

I want my output to be if I pick up a random message:

Monday

if I pick up another at random

this is test

Any ideas on how to achieve this will be greatly appreciated.


Solution

  • This will retrieve a random message from the object you've shown in your question.

    function getRandomMessage(data) {
       if( !data ) { return null; }
       var keys = Object.keys(data);
       var randomKey = keys[ Math.floor(Math.random()*keys.length) ];
       return data[randomKey];
    }
    

    Keep in mind that this assumes you have a small number of records. If you start getting into the thousands, you'll need a more robust solution than just grabbing the entire data set.