Saya memiliki Array var cars = [2,3,..]
yang menampung beberapa bilangan bulat. Saya telah menambahkan beberapa nilai ke array, tetapi sekarang saya harus mengirim array ini ke halaman melalui .get
metode jQuery . Bagaimana saya bisa mengubahnya menjadi objek JSON untuk dikirim?
javascript
jquery
json
arrays
Dotty
sumber
sumber
Jawaban:
Skrip untuk kompatibilitas mundur: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
Dan telepon:
Catatan: Objek JSON sekarang menjadi bagian dari sebagian besar browser web modern (IE 8 & di atas). Lihat caniuse untuk daftar lengkap. Kredit jatuh ke: @Spudley untuk komentarnya di bawah
sumber
JSON
objek sebagai standar, yang berarti bahwa Anda tidak memerlukan skrip ini kecuali Anda berencana untuk mendukung browser lama seperti IE7 atau Firefox 3.0. Lihat CanIUse untuk grafik dukungan.Saya membuatnya seperti itu:
jika saya punya:
untuk mengubah pluginArrayArg (yang merupakan array javascript murni) menjadi array JSON:
sumber
Wow, sepertinya ini menjadi jauh lebih mudah saat ini ... 3 cara Anda dapat melakukannya:
sumber
jsonString = JSON.stringify({ ...array })
Saya memutuskan untuk menggunakan perpustakaan json2 dan saya mendapatkan kesalahan tentang "struktur data siklik".
Saya menyelesaikannya dengan memberi tahu json2 cara mengubah objek kompleks saya. Tidak hanya berfungsi sekarang tetapi saya juga hanya menyertakan bidang yang saya butuhkan. Inilah cara saya melakukannya:
sumber
Atau coba definisikan array sebagai objek. (var cars = {};) Maka tidak perlu mengkonversi ke json. Ini mungkin tidak praktis dalam contoh Anda tetapi bekerja dengan baik untuk saya.
sumber
Satu cara lain bisa jadi ini:
sumber
Jika Anda hanya memiliki 1 objek seperti yang Anda tanyakan, berikut ini akan berfungsi.
sumber
Cara terpendek yang saya tahu untuk menghasilkan json yang valid dari array integer adalah
untuk objek / array yang lebih umum (tanpa referensi melingkar ) gunakan JSON.stringify (mobil)
Tampilkan cuplikan kode
sumber
karena array saya seperti di bawah ini: dan saya menggunakan fungsi .push untuk membuatnya secara dinamis
Satu-satunya cara saya mengubah array saya menjadi json adalah
sumber