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:
Multidimensional array from JSON object
<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>
{
"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
}
]
}
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);
});
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>
fetch("../json/people.json")
.then(r=>r.json())
.then(json=>{
const nameElms = Array.from(document.querySelectorAll("[id='name']"));
const ageElms = Array.from(document.querySelectorAll("[id='age']"));
nameElms.forEach((n,i)=>{
const person = json.people[i];
n.textContent = person.name;
})
ageElms.forEach((n,i)=>{
const person = json.people[i];
n.textContent = person.age;
})
})
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.