penggunaan JSON
Tukar teks JSON kepada objek JavaScript
Salah satu kegunaan JSON yang paling biasa ialah membaca data JSON daripada pelayan web (sebagai fail atau sebagai HttpRequest) dan menukar Data JSON ke dalam Tukar kepada objek JavaScript dan gunakan data dalam halaman web.
Untuk memudahkan anda menerangkan, kami menggunakan rentetan sebagai input untuk demonstrasi (bukannya fail).
Instance JSON - objek daripada rentetan
Mencipta rentetan JavaScript yang mengandungi sintaks JSON:
'{ "FirstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
Memandangkan sintaks JSON ialah subset sintaks JavaScript, fungsi JavaScript eval() Boleh digunakan untuk menukar teks JSON kepada objek JavaScript. Fungsi
eval() menggunakan pengkompil JavaScript untuk menghuraikan teks JSON dan kemudian menjana objek JavaScript. Teks mesti disertakan dalam kurungan untuk mengelakkan ralat sintaks:
dalam halaman web Gunakan JavaScript objek dalam:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h2>从 JSON 字符串中创建对象</h2> <p> 名: <span id="fname"></span><br> 姓: <span id="lname"></span><br> </p> <script> var txt = '{"employees":[' + '{"firstName":"John","lastName":"Doe" },' + '{"firstName":"Anna","lastName":"Smith" },' + '{"firstName":"Peter","lastName":"Jones" }]}'; var obj = eval ("(" + txt + ")"); document.getElementById("fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName </script> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat Contoh Dalam Talian
JSON Parser
Fungsi eval() boleh menyusun dan melaksanakan sebarang kod JavaScript. Ini menyembunyikan isu keselamatan yang berpotensi.
Lebih selamat menggunakan penghurai JSON untuk menukar JSON kepada objek JavaScript. Penghurai JSON hanya memahami teks JSON dan tidak menyusun skrip.
Dalam penyemak imbas, ini menyediakan sokongan JSON asli dan penghurai JSON yang lebih pantas.
Pelayar yang lebih baharu dan standard ECMAScript (JavaScript) terkini termasuk sokongan asli untuk JSON.
< /tr>Sokongan penyemak imbas web | Sokongan perisian web | ||||
---|---|---|---|---|---|
|
|
Instance
<!DOCTYPE html> <html> <body> <h2>Create Object from JSON String</h2> <p> First Name: <span id="fname"></span><br> Last Name: <span id="lname"></span><br> </p> <script> var txt = '{"employees":[' + '{"firstName":"John","lastName":"Doe" },' + '{"firstName":"Anna","lastName":"Smith" },' + '{"firstName":"Peter","lastName":"Jones" }]}'; obj = JSON.parse(txt); document.getElementById("fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName </script> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat instance dalam talian
Untuk pelayar lama, gunakan perpustakaan JavaScript: https://github.com/douglascrockford/JSON-js
Format JSON pada asalnya ditentukan oleh Douglas Crockford