How to fetch data from JSON file in react js? How to use an Array map within map in JSX React JS? This is what we will learn in this tutorial:
- 'Display JSON Data in React app' directly.
- Use JavaScript Array map() to display data.
- Use Array map inside Array map.
- Fetch records in React JS from nested objects in JSON file.
So how do we fetch data from JSON file in react? It's very easy. I have a separate JSON file with data (array and objects) in it. File name is records.json. JSON is a clean data representation format. Anything that you write in JSON is valid JavaScript. JSON supports strings, numbers, booleans, null, arrays and objects.
Arrays have opening and closing square brackets. Objects are stored inside curly brackets. To use data inside a JSON file, we take an opening and closing square brackets. Inside brackets, we take objects in curly braces. Object has got key, value pairs. In JSON we write keys with double quotes.
To display this JSON data in ReactJS, we import JSON file in React component, by using any name. Period slash represent that JSON file is at same location where this App.js is in the project. To map JSON object, take curly brackets and use Array map and provide it JSON file data that was imported at the top of component. Also apply a check with &&. This is to check if we have data to map. If we have data then statement will proceed otherwise it won't execute further. It's important. Always check if data exists before displaying it. JSON records are displaying in our React JS project.
Then we added some nested data in JSON file. To display this nested data, we will use Array map inside Array map or map inside map. We already have the JSON data object. We will just extract values from it further. Unique key is needed for each record so that it can be identifiable by the app in case you need to get a single record.
Unique Key prop is needed. We hard coded unique IDs in JSON file but you can get a package from npm to better handle unique IDs. For example UUID. You can take any type of JSON file, call it in React component with any name, map it's data and display records from it easily. You can use JSON file as a temporary database for the react app if you need it.