Parse the Firestore REST API JSON into a useable JS object
// Install with NPM
npm install firestore-parser --save
// or Install with Yarn
yarn add firestore-parser
// Node/AMD:
// const FireStoreParser = require('firestore-parser');
// Node with TypeScript:
// import * as FireStoreParser from 'firestore-parser';
import FireStoreParser from 'firestore-parser'
const projectID = 'PROJECT_ID'
const key = 'API_KEY'
const doc = 'DOCUMENT'
const url = `https://firestore.googleapis.com/v1beta1/projects/${projectID}/databases/(default)/documents/${doc}?key=${key}`
fetch(url)
.then(response => response.json())
.then(json => FireStoreParser(json))
.then(json => console.log(json));
The Firestore JSON returned in the REST API, uses value type as keys. This can be difficult to work with since you have to know the data type prior getting the value. The firestore-parser
removes this barrier for you.
{
"player": {
"mapValue": {
"fields": {
"name": {
"stringValue": "steve"
},
"health": {
"integerValue": "100"
},
"alive": {
"booleanValue": true
}
}
}
},
"level": {
"integerValue": "7"
}
}
{
"player": {
"name": "steve",
"health": 100,
"alive": true
},
"level": 7
}