A common use of JSON is to exchange data to/from a web server.
When receiving data from a web server, the data is always a string.
Parse the data with JSON.parse()
, and the data becomes a JavaScript object.
If you have data stored in a JavaScript object, you can convert the object into JSON, and send it to a server:
const myObj = {name: "John", age: 31, city: "New York"};
const myJSON = JSON.stringify(myObj);
window.location = "demo_json.html?x=" + myJSON;
Try it Yourself »
If you receive data in JSON format, you can easily convert it into a JavaScript object:
const myJSON = '{"name":"John", "age":31, "city":"New York"}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
Try it Yourself »
You can request JSON from the server by using an AJAX request
As long as the response from the server is written in JSON format, you can parse the string into a JavaScript object.
Use the XMLHttpRequest to get data from the server:
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
const myObj = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myObj.name;
};
xmlhttp.open("GET", "json_demo.txt");
xmlhttp.send();
Try it Yourself »
Take a look at json_demo.txt
When using the JSON.parse()
on JSON derived from an array, the method will return a JavaScript array, instead of a JavaScript object.
JSON returned from a server as an array:
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
const myArr = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myArr[0];
}
}
xmlhttp.open("GET", "json_demo_array.txt", true);
xmlhttp.send();
Try it Yourself »
Take a look at json_demo_array.txt
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!