JSON.parse()
- Previous page JSON 数据类型
- Next page JSON serialization
JSON 的常规用途是同 web 服务器进行数据传输。
在从 web 服务器接收数据时,数据永远是字符串。
通过 JSON.parse()
解析数据,这些数据会成为 JavaScript 对象。
实例 – 解析 JSON
请想象一下我们从 web 服务器接收到这段文本:
'{ "name":"Bill Gates", "age":62, "city":"Seattle"}'
请使用 JavaScript 函数 JSON.parse()
把文本转换为 JavaScript 对象:
var obj = JSON.parse('{ "name":"Bill Gates", "age":62, "city":"Seattle"}');
请确保这段文本以 JSON 格式书写,否则会出现语法错误。
ka ɗauka ƙarƙashin ƙaƙara ƙaƙara ƙaƙara ƙaƙara ƙaƙara ƙaƙara ƙaƙara.
Kwarin
<p id="demo"></p> <script> document.getElementById("demo").innerHTML = obj.name + ", " + obj.age; </script>
JSON ɗin ƙaƙara ƙaƙara
ka ɗauka ƙarƙashin AJAX ƙarƙashin ƙaƙara ƙaƙara daga ƙaƙara ƙaƙara.
kada ƙarƙashin ƙaƙara ƙaƙara ƙaƙara ce, ka ɗauka ƙarƙashin ƙaƙara ƙaƙara ƙaƙara.
Kwarin
ka ɗauka ƙarƙashin XMLHttpRequest daga ƙaƙara ƙaƙara.
var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myObj = JSON.parse(this.responseText); document.getElementById("demo").innerHTML = myObj.name; } }; xmlhttp.open("GET", "json_demo.txt", true); xmlhttp.send();
ɗanin ƙaƙara JSON
ta ɗa ƙarƙashin JSON ƙarƙashin ƙaƙara JSON.parse()
bayan haka, ɗanin yau ƙaƙara yau ƙaƙara ƙaƙara ce, kacalai ƙaƙara ƙaƙara.
Kwarin
JSON ɗin ya ƙarƙashin ƙaƙara ƙaƙara ce
var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myArr = JSON.parse(this.responseText); document.getElementById("demo").innerHTML = myArr[0]; } }; xmlhttp.open("GET", "json_demo_array.txt", true); xmlhttp.send();
Duba
Fasheci rana
Kuma ayyukan JSON ba a san suwa da rana.
Idan ka ƙaƙƙarfan a kewayi aya ce, kuma yin shi ne littar.
Baɗa ya a yi kuma rana:
Kwarin
Fasheci littar aya ce zuwa rana:
var text = '{ "name":"Bill Gates", "birth":"1955-10-28", "city":"Seattle"}'; var obj = JSON.parse(text); obj.birth = new Date(obj.birth); document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;
ko kuma a amfani da JSON.parse()
Ayyukan na biyu, wanda ake kira reviver.
tunawa reviver Argan aya ce ayyuka, a fashin raba ayyukan a cikin baya, a cikin baya ita ce a fashin ayyukan.
Kwarin
Fasheci littar aya ce zuwa rana, amfani da reviver aya ce:
var text = '{ "name":"Bill Gates", "birth":"1955-10-28", "city":"Seattle"}'; var obj = JSON.parse(text, function (key, value) { if (key == "birth") { return new Date(value); } else { return value; }}); document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;
Fasheci aya ce.
Kuma ayyukan JSON ba a san suwa da aya ce.
Idan ka ƙaƙƙarfan a kewayi aya ce, kuma yin shi ne littar.
Baɗa ya a yi kuma fasheci a fashin:
Kwarin
Fasheci littar aya ce doni:
var text = '{ "name":"Bill Gates", "age":"function () {return 62;}", "city":"Seattle"}'; var obj = JSON.parse(text); obj.age = eval("(" + obj.age + ")"); document.getElementById("demo").innerHTML = obj.name + ", " + obj.age();
You should avoid using functions in JSON, as functions will lose their scope, and you also need to use eval()
Convert them back to functions.
Browser support
All mainstream browsers and the latest ECMAScript (JavaScript) standard include JSON.parse()
Function:
The numbers in the following table specify full support JSON.parse()
The first browser version of the function:
Yes | 8.0 | 3.5 | 4.0 | 10.0 |
For older browsers, the following address contains available JavaScript libraries:
- Previous page JSON 数据类型
- Next page JSON serialization