Based on the question https://pt.stackoverflow.com/questions/323738/como-incluir-arquivo-json-dentro-de-um-js (in Portuguese), but he does not have an array and I have an array. I applied that and the variables were undefined due to a lack of an array that he did not.
You can test using to run the preview.
I also tried to apply the questions:
- get size of json object
Multidimensional array from JSON object
- Firstly in the HTML file:
<p id="name">Name 1</p>
<p id="age">Age 1</p>
<p id="name">Name 2</p>
<p id="age">Age 2</p>
<p id="name">Name 3</p>
<p id="age">Age 3</p>
<p id="name">Name 4</p>
<p id="age">Age 4</p>
<p id="name">Name 5</p>
<p id="age">Age 5</p>
- JSON:
{
"people":
[
{
"id": 0,
"name": "Person Name 0",
"age": 15
},
{
"id": 1,
"name": "Person Name 1",
"age": 25
},
{
"id": 2,
"name": "Person Name 2",
"age": 35
},
{
"id": 3,
"name": "Person Name 3",
"age": 45
},
{
"id": 4,
"name": "Person Name 4",
"age": 55
},
{
"id": 5,
"name": "Person Name 5",
"age": 60
}
]
}
- Based on that question in Portuguese like:
function readTextFile(file, callback) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", file, true);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status == "200") {
callback(rawFile.responseText);
}
}
rawFile.send(null);
}
readTextFile("../json/people.json", function(text)
{
var people = JSON.parse(text);
var name = document.getElementById('name');
name.innerHTML = people.name;
var age = document.getElementById('age');
age.innerHTML = people.age;
console.log(people);
});
- Or using
Object.keys
, like:
readTextFile("../json/people.json", function(text){
var people = JSON.parse(text);
var name = document.getElementById('name');
name.innerHTML = Object.keys(people.name).length;
var age = document.getElementById('age');
age.innerHTML = Object.keys(people.age).length;
console.log(people);
});
function readTextFile(file, callback) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", file, true);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status == "200") {
callback(rawFile.responseText);
}
}
rawFile.send(null);
}
readTextFile("https://pastebin.com/raw/CzxURs8y", function(text)
{
var people = JSON.parse(text);
var name = document.getElementById('name');
name.innerHTML = people.name;
var age = document.getElementById('age');
age.innerHTML = people.age;
console.log(people);
});
<p id="name">Name 1</p>
<p id="age">Age 1</p>
<p id="name">Name 2</p>
<p id="age">Age 2</p>
<p id="name">Name 3</p>
<p id="age">Age 3</p>
<p id="name">Name 4</p>
<p id="age">Age 4</p>
<p id="name">Name 5</p>
<p id="age">Age 5</p>