Việc sử dụng JSON phổ biến là trao đổi dữ liệu thành/từ máy chủ web.
Khi nhận dữ liệu từ một máy chủ web, dữ liệu luôn là một chuỗi.
Phân tích dữ liệu với JSON.parse[]
và dữ liệu trở thành đối tượng JavaScript.
Ví dụ - Phân tích cú pháp JSON
Hãy tưởng tượng chúng tôi đã nhận được văn bản này từ một máy chủ web:
'{"Tên": "John", "Tuổi": 30, "Thành phố": "New York"}'
Sử dụng chức năng JavaScript JSON.parse[]
để chuyển đổi văn bản thành đối tượng JavaScript:
const obj = json.parse ['{"name": "john", "tuổi": 30, "thành phố": "new york"}'];
Hãy chắc chắn rằng văn bản ở định dạng JSON, nếu không bạn sẽ gặp lỗi cú pháp.
Sử dụng đối tượng JavaScript trong trang của bạn:
Thí dụ
document.getEuityById ["demo"]. Internhtml = obj.Name;
document.getElementById["demo"].innerHTML = obj.name;
Hãy tự mình thử »
Mảng là json
Khi sử dụng JSON.parse[]
trên JSON có nguồn gốc từ một mảng, phương thức sẽ trả về một mảng JavaScript, thay vì một đối tượng JavaScript.
Thí dụ
const text = '["Ford", "BMW", "Audi", "Fiat"]';
const myArr = JSON.parse[text];
Hãy tự mình thử »
Mảng là json
Khi sử dụng JSON.parse[]
trên JSON có nguồn gốc từ một mảng, phương thức sẽ trả về một mảng JavaScript, thay vì một đối tượng JavaScript.
const text = '["ford", "bmw", "audi", "fiat"]'; const myarr = json.parse [văn bản];
Ngoại lệ
Ngày phân tích cú pháp
Thí dụ
Convert a string into a date:
document.getEuityById ["demo"]. Internhtml = obj.Name;
const obj = JSON.parse[text];
obj.birth = new Date[obj.birth];
Hãy tự mình thử »
Hãy tự mình thử »
Mảng là json
Khi sử dụng JSON.parse[]
trên JSON có nguồn gốc từ một mảng, phương thức sẽ trả về một mảng JavaScript, thay vì một đối tượng JavaScript.
Thí dụ
Convert a string into a date, using the reviver function:
document.getEuityById ["demo"]. Internhtml = obj.Name;
const obj = JSON.parse[text, function [key, value] {
if [key == "birth"] {
return new Date[value];
} else {
return value;
}
}];
Hãy tự mình thử »
Hãy tự mình thử »
Mảng là json
Khi sử dụng JSON.parse[]
trên JSON có nguồn gốc từ một mảng, phương thức sẽ trả về một mảng JavaScript, thay vì một đối tượng JavaScript.
const text = '["ford", "bmw", "audi", "fiat"]'; const myarr = json.parse [văn bản];
Ngoại lệ
Thí dụ
Convert a string into a function:
document.getEuityById ["demo"]. Internhtml = obj.Name;
const obj = JSON.parse[text];
obj.age = eval["[" + obj.age + "]"];
Hãy tự mình thử »
Hãy tự mình thử »
Mảng là json
Thí dụ
Cách sử dụng hàm Reviver:
/*Thay thế giá trị của "thành phố" thành trường hợp trên:*/ var text = '{"name": "john", "tuổi": "39", "thành phố": "new york"}'; var obj = json.parse [văn bản, hàm [khóa, giá trị] {& nbsp; if [key == "city"] {& nbsp; & nbsp; & nbsp; return value.touppercase []; & nbsp; & nbsp; & nbsp; & nbsp; giá trị trả về; & nbsp; & nbsp;}}];
Hãy tự mình thử »
Phân tích cú pháp JSON nhận được từ máy chủ:
var xmlHttp = new xmlHttpRequest []; xmlHttp.onReadyStateChange = function [] {& nbsp; if [this.ReadyState == 4 && this.status == 200] {& nbsp; & nbsp; & nbsp; var myobj = json.parse [this.responsetext]; & nbsp; & nbsp; "json_demo.txt", đúng]; xmlhttp.send [];
Hãy xem json_demo.txt
Các trang liên quan
Hướng dẫn JSON: Giới thiệu JSON
Phương pháp nào chuyển đổi JSON thành JavaScript?
Sử dụng hàm javascript json.parse [] để chuyển đổi văn bản thành đối tượng javascript: const obj = json.parse ['{"name": "john", "tuổi": 30, "thành phố": "new york"}' ]; Hãy chắc chắn rằng văn bản ở định dạng JSON, nếu không bạn sẽ gặp lỗi cú pháp.
Văn bản/đối tượng JSON có thể được chuyển đổi thành đối tượng JavaScript bằng hàm json.parse []. | 4.0 | 8.0 | 3.5 | 4.0 | 11.5 |
Phương pháp JSON trong JavaScript là gì?
Đối tượng JSON chứa các phương thức để phân tích ký hiệu đối tượng JavaScript [JSON] và chuyển đổi các giá trị thành JSON. Nó không thể được gọi hoặc xây dựng.
Phương pháp nào chuyển đổi JSON thành chuỗi?
var obj = json.parse ['{"firstName": "john", "lastName": "doe"}']; | Thêm ví dụ "hãy thử nó" dưới đây. |
Định nghĩa và cách sử dụng | Phương thức json.parse [] phân tích một chuỗi và trả về một đối tượng javascript.
|
Phương thức json.parse [] có thể tùy ý chuyển đổi kết quả với một hàm.
Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ phương thức. |
Ecmascript 5 |
Nhiều ví dụ hơn
Thí dụ
Cách sử dụng hàm Reviver:
/*Thay thế giá trị của "thành phố" thành trường hợp trên:*/ var text = '{"name": "john", "tuổi": "39", "thành phố": "new york"}'; var obj = json.parse [văn bản, hàm [khóa, giá trị] {& nbsp; if [key == "city"] {& nbsp; & nbsp; & nbsp; return value.touppercase []; & nbsp; & nbsp; & nbsp; & nbsp; giá trị trả về; & nbsp; & nbsp;}}];
var text = '{ "name":"John", "age":"39", "city":"New York"}';
var obj = JSON.parse[text, function [key, value] {
if [key == "city"] {
return value.toUpperCase[];
} else {
return value;
}
}];
document.getEuityById ["demo"]. Internhtml = obj.Name + "," + obj.city;
Hãy tự mình thử »
Thí dụ
Cách sử dụng hàm Reviver:
/*Thay thế giá trị của "thành phố" thành trường hợp trên:*/ var text = '{"name": "john", "tuổi": "39", "thành phố": "new york"}'; var obj = json.parse [văn bản, hàm [khóa, giá trị] {& nbsp; if [key == "city"] {& nbsp; & nbsp; & nbsp; return value.touppercase []; & nbsp; & nbsp; & nbsp; & nbsp; giá trị trả về; & nbsp; & nbsp;}}];
xmlhttp.onreadystatechange = function[] {
if [this.readyState == 4 && this.status == 200] {
var myObj = JSON.parse[this.responseText];
document.getElementById["demo"].innerHTML
= myObj.name;
}
};
xmlhttp.open["GET", "json_demo.txt", true];
xmlhttp.send[];
Hãy tự mình thử »
Phân tích cú pháp JSON nhận được từ máy chủ:
var xmlHttp = new xmlHttpRequest []; xmlHttp.onReadyStateChange = function [] {& nbsp; if [this.ReadyState == 4 && this.status == 200] {& nbsp; & nbsp; & nbsp; var myobj = json.parse [this.responsetext]; & nbsp; & nbsp; "json_demo.txt", đúng]; xmlhttp.send [];
Hãy xem json_demo.txt