JSON.parse()

ການໃຊ້ທົ່ວໄປຂອງ JSON ແມ່ນການສົ່ງຂໍ້ມູນລະຫວ່າງ web 服务器

ບໍ່ມີຫຍັງທີ່ຈະຮັບມາຈາກ web 服务器ແມ່ນມີຕົວແທນຄຳການຕອບ

ຜ່ານ JSON.parse() ການຕອບຂໍ້ມູນທີ່ຈະກາຍເປັນວິທີນັກຄອມພິວເຕີ້

ຕົວຢ່າງ – ການຕອບ JSON

ພິຈາລະນາວ່າພວກເຮົາຈະຮັບຄືນຈາກ web 服务器ນີ້

'{ "name":"Bill Gates", "age":62, "city":"Seattle"}'

ກະຕຸ້ນໃຊ້ວິທີ JavaScript JSON.parse() ປ່ຽນວິທີສາຍສາຍເປັນວິທີນັກຄອມພິວເຕີ້

var obj = JSON.parse('{ "name":"Bill Gates", "age":62, "city":"Seattle"}');

ກະຕຸ້ນໃຫ້ມີປະໂຫຍດດັ່ງກ່າວນີ້ເປັນ JSON ທີ່ບໍ່ມີຄຳສັງເກດສັນຍາວັດສະນະຄະນະນູນ

ກະຕຸ້ນໃຊ້ວິທີນັກຄອມພິວເຕີ້ JavaScript.

ຕົວຢ່າງ

<p id="demo"></p> 
<script>
 document.getElementById("demo").innerHTML = obj.name + ", " + obj.age; 
</script>

ການທົດລອງຄວາມຈິງ

JSON ຈາກທີ່ວາງມາສາຍ

ທ່ານສາມາດຂໍ JSON ຈາກທີ່ວາງມາສາຍ AJAX.

ວ່າຄຳການຕອບຂອງທີ່ວາງມາສາຍແມ່ນເປັນຮູບແບບ JSON

ຕົວຢ່າງ

ກະຕຸ້ນໃຊ້ XMLHttpRequest ເພື່ອເອົາຂໍ້ມູນຈາກທີ່ວາງມາສາຍ

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();

ການທົດລອງຄວາມຈິງ

ກວດບວກ json_demo.txt

ສາຍສາຍທີ່ເປັນ JSON

ການໃຊ້ JSON ທີ່ອອກແບບຈາກສາຍສາຍ JSON.parse() ການຕອບຂອງວິທີນີ້ຈະກັບຄືນຈາກສາຍສາຍຫຼັງຈາກນັ້ນ

ຕົວຢ່າງ

JSON ທີ່ກັບຄືນຈາກທີ່ວາງມາສາຍສາຍຫຼັງຈາກນັ້ນ

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();

ການທົດລອງຄວາມຈິງ

ກວດສອບ json_demo_array.txt

ກໍລະນີອັນຕະລາຍ

ການຕັດສິນວັນທີ

JSON ບໍ່ອະນຸຍາດວັນທີໂອກາດ.

ຖ້າທ່ານຕ້ອງການບັນຈຸວັນທີຫຼັງຈາກນັ້ນທ່ານຂຽນຄືສາຍຄວາມ.

ຫຼັງຈາກນັ້ນທ່ານສາມາດແປງຄືນວ່າວັນທີໂອກາດ:

ຕົວຢ່າງ

ການແປງສາຍຄວາມໃຫ້ເປັນວັນທີ:

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;

ການທົດລອງຄວາມຈິງ

ຫຼືທ່ານສາມາດໃຊ້ JSON.parse() ປະໂຫຍດທີສອງຂອງການປະຕິບັດພາຍໃນການກັບຄືນຄືນຄຳຕອບກ່ອນການກັບຄືນ reviver.

ນີ້ reviver ປະໂຫຍດວ່າການປະຕິບັດພາຍໃນການກັບຄືນຄືນຄຳຕອບກ່ອນການກັບຄືນ.

ຕົວຢ່າງ

ການແປງສາຍຄວາມໃຫ້ເປັນວັນທີໃນການນຳໃຊ້ reviver 函数:

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;

ການທົດລອງຄວາມຈິງ

ການຕັດສິນການປະຕິບັດ

JSON ບໍ່ອະນຸຍາດການປະຕິບັດ.

ຖ້າທ່ານຕ້ອງການບັນຈຸການປະຕິບັດຫຼັງຈາກນັ້ນທ່ານສາມາດຂຽນຄືສາຍຄວາມ.

ຫຼັງຈາກນັ້ນທ່ານສາມາດແປງຄືການປະຕິບັດອີກຕໍ່າ:

ຕົວຢ່າງ

ການແປງສາຍຄວາມໃຫ້ເປັນການປະຕິບັດ:

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();

ການທົດລອງຄວາມຈິງ

ທ່ານຄວນຫຼີກລ່ຽງການໃຊ້ວິທີການໃນ JSON, ວິທີການຈະສູນເສຍຄວາມກຳນົດທາງ, ແລະທ່ານຈະຕ້ອງໃຊ້: eval() ການປ່ຽນກັບວິທີການ.

ການສະໜັບສະໜູນບັນດາສາຍພາສາ

ທັງໝົດສາຍພາສາຄົນພົນຫລາຍທັງໝົດ ແລະ ECMAScript (JavaScript) ສະແນນສະໜອງຫລາຍສຸດຂອງກະວານຄົ້ນຫາ JSON.parse() ວິທີການ:

ຈຳນວນໃນຕາລາງລຸ່ມກ່າວຫານີ້ແມ່ນການສະໜັບສະໜູນ: JSON.parse() ການອອກຂອງວິທີການທຳອິດຂອງສາຍພາສາເວັບໄຊ:

Yes 8.0 3.5 4.0 10.0

ສຳລັບການອານຸພາສາທີ່ເກົ່າກວ່າ, JavaScript ກະບຽນທີ່ຢູ່ໃນທີ່ຕໍ່ມານີ້ແມ່ນສາມາດໃຊ້ໄດ້:

https://github.com/douglascrockford/JSON-js