MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

JSON.parse()

Method JSON.parse() memparse string ke JSON, biasanya mengubah nilai yang dihasilkan oleh parsing.

Sintaks

JSON.parse(text[, reviver])

Parameters

text
String yang akan di parse ke JSON. Lihat objek JSON untuk deskripsi lengkap sintaks JSON.
reviver Optional
Jika sebuah fungsi, mendeskripsikan bagaimana nilai asli dihasilkan oleh parsing berubah, sebelum dikembalikan.

Pemulangan

Mengembalikan Object sesuai dengan teks JSON yang diberikan.

Lontaran

Melontarkan pengecualian SyntaxError jika string yang di parse tidak sesuai JSON.

Contoh

Menggunakan JSON.parse()

JSON.parse('{}');              // {}
JSON.parse('true');            // true
JSON.parse('"foo"');           // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null');            // null

Menggunakan parameter reviver

Jika reviver telah ditentukan, nilai dihitung dengan parsing transformed sebelum dikembalikan. Khususnya, nilai yang terhitung, dan semua propertinya (dimulai dari properti yang paling bersarang dan berlanjut ke nilai asli), secara individu dijalankan melalui reviver, yang di panggil dengan objek yang berada di dalam properti yang akan diproses sebagai this dan dengan nama properti sebagai string dan nilai properti sebagai argumen. jika fungsi reviver mengembalikan undefined (tidak mengembalikan nilai, contoh, jika eksekusi gagal di akhir fungsi), properti akan dihapus dari objek. Jika tidak, properti akan didefinisikan ulang sebagai sebuah nilai kembali.

reviver dipanggil dengan string kosong dan nilai paling atas mengizinkan tranformsi dari nilai paling atas. Jadi untuk menangani kasus ini dengan baik, biasanya dengan mengembalikan nilai yang diberikan, atau JSON.parse() akan mengembalikan undefined.

JSON.parse('{"p": 5}', function(k, v) {
  if (k === '') { return v; } // if topmost value, return it,
  return v * 2;               // else return v * 2.
});                           // { p: 10 }

JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', function(k, v) {
  console.log(k); // log the current property name, the last is "".
  return v;       // return the unchanged property value.
});

// 1
// 2
// 4
// 6
// 5
// 3 
// ""

JSON.parse() tidak mengizinkan trailing koma

// both will throw a SyntaxError
JSON.parse('[1, 2, 3, 4, ]');
JSON.parse('{"foo" : 1, }');

Spesifikasi

Spesifikasi Status Comment
ECMAScript 5.1 (ECMA-262)
The definition of 'JSON.parse' in that specification.
Standard Initial definition. Implemented in JavaScript 1.7.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'JSON.parse' in that specification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
The definition of 'JSON.parse' in that specification.
Draft  

Kompabilitas browser

Fitur Chrome Firefox (Gecko) Internet Explorer Opera Safari
Dukungan dasar (Yes) 3.5 (1.9.1) 8.0 10.5 4.0
Fitur Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Dukungan dasar (Yes) (Yes) 1.0 (1.0) (Yes) (Yes) (Yes)

Gecko-specific notes

Pada Gecko 29 (Firefox 29 / Thunderbird 29 / SeaMonkey 2.26), string JSON yang gagal akan menampilkan pesan kesalahan yang lebih rinci tentang error dalam memparse. Hal ini sangat berguna ketika mendebug data JSON yang besar.

JSON.parse('[1, 2, 3, 4,]');
// SyntaxError: JSON.parse: unexpected character at
// line 1 column 13 of the JSON data

Lihat Juga

Tag Dokumen dan Kontributor

 Kontributor untuk laman ini: rmsubekti
 Terakhir diperbarui oleh: rmsubekti,