Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to read data from JSON array using JavaScript?
JSON arrays are a common data structure in JavaScript applications. This article demonstrates various methods to read and access data from JSON arrays.
What is a JSON Array?
A JSON array is a collection of JSON objects enclosed in square brackets. Each object can contain multiple key-value pairs.
[
{"name": "Rohan", "age": 22},
{"name": "Shawn", "age": 12},
{"name": "Michael", "age": 21}
]
Method 1: Using JSON.parse() and forEach()
The most common approach is parsing the JSON string and iterating through the array:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON Array Reader</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
margin: 20px;
}
.sample {
background-color: #f0f0f0;
padding: 10px;
margin: 10px 0;
border-radius: 5px;
font-family: monospace;
}
.result {
background-color: #e8f5e8;
padding: 10px;
margin: 10px 0;
border-radius: 5px;
min-height: 50px;
}
button {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
</style>
</head>
<body>
<h1>Read data from JSON array using JavaScript</h1>
<div class="sample">
[{"name":"Rohan","age":22}, {"name":"Shawn","age":12}, {"name":"Michael","age":21}]
</div>
<div class="result"></div>
<button class="btn">Read JSON Data</button>
<script>
let sampleEle = document.querySelector(".sample");
let resultEle = document.querySelector(".result");
let parsedJson = JSON.parse(sampleEle.innerHTML);
document.querySelector(".btn").addEventListener("click", () => {
resultEle.innerHTML = "<h3>JSON Array Data:</h3>";
parsedJson.forEach((item, index) => {
resultEle.innerHTML += `<p><strong>Person ${index + 1}:</strong> Name = ${item.name}, Age = ${item.age}</p>`;
});
});
</script>
</body>
</html>
Method 2: Accessing Specific Array Elements
You can access individual elements using array indices:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Access Specific Elements</title>
</head>
<body>
<h2>Access Specific JSON Array Elements</h2>
<div id="output"></div>
<script>
let jsonString = '[{"name":"Rohan","age":22}, {"name":"Shawn","age":12}, {"name":"Michael","age":21}]';
let jsonArray = JSON.parse(jsonString);
let output = document.getElementById('output');
// Access first person
output.innerHTML = `<p>First person: ${jsonArray[0].name}, Age: ${jsonArray[0].age}</p>`;
// Access last person
let lastIndex = jsonArray.length - 1;
output.innerHTML += `<p>Last person: ${jsonArray[lastIndex].name}, Age: ${jsonArray[lastIndex].age}</p>`;
// Access middle person
output.innerHTML += `<p>Middle person: ${jsonArray[1].name}, Age: ${jsonArray[1].age}</p>`;
</script>
</body>
</html>
Method 3: Using map() for Data Transformation
The map() method is useful when you need to transform the JSON data:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Transform JSON Data</title>
</head>
<body>
<h2>Transform JSON Array Data</h2>
<div id="names-output"></div>
<div id="adults-output"></div>
<script>
let jsonString = '[{"name":"Rohan","age":22}, {"name":"Shawn","age":12}, {"name":"Michael","age":21}]';
let jsonArray = JSON.parse(jsonString);
// Extract only names
let names = jsonArray.map(person => person.name);
document.getElementById('names-output').innerHTML = `<p>Names: ${names.join(', ')}</p>`;
// Filter adults (age >= 18)
let adults = jsonArray.filter(person => person.age >= 18);
let adultNames = adults.map(adult => `${adult.name} (${adult.age})`);
document.getElementById('adults-output').innerHTML = `<p>Adults: ${adultNames.join(', ')}</p>`;
</script>
</body>
</html>
Key Points
- Always use
JSON.parse()to convert JSON strings to JavaScript objects - Use
forEach()for simple iteration without returning new data - Use
map()when you need to transform data into a new array - Array indices start from 0 for direct element access
- Combine
filter()andmap()for advanced data processing
Browser Compatibility
JSON.parse() is supported in all modern browsers including IE8+. Array methods like forEach(), map(), and filter() are supported in IE9+ and all modern browsers.
Conclusion
Reading JSON array data in JavaScript is straightforward using JSON.parse() combined with array methods. Choose forEach() for simple iteration, map() for data transformation, and direct indexing for accessing specific elements.
