Haruskah saya menggunakan JSON hanya untuk menggunakan JSON

11

Saya sedang membangun situs blog untuk belajar, dengan PHP / MySQl back-end. Semua input pengguna ditangani dengan formulir yang dikirim dalam permintaan POST.

Akankah menggunakan JSON entah bagaimana membuatnya lebih bersih, atau lebih mudah untuk memelihara atau menambah fitur? Atau apakah saya hanya menambahkan format interchange tanpa alasan?

Jadi pada dasarnya, fungsionalitas apa yang terbaik diimplementasikan dengan menggunakan JSON?

JonOsterman
sumber
4
Apa alternatifnya? Menemukan format data Anda sendiri?
@delnan: Yaml, CSV. Saya mungkin bisa memikirkan beberapa orang lain.
Robert Harvey
10
Jarang menggunakan bla demi menggunakan bla rencana yang bijaksana. Lihatlah hal-hal yang baik untuk JSON, dan kemudian pertimbangkan apakah perlu menggunakan JSON untuk aspek-aspek tertentu.
whatsisname
@ RobertTarvey: Atau, formulir HTTP standar.
cao
7
I'm building a blogging site for learning- Anda mempelajari teknologi terkait? atau untuk menyediakan materi untuk orang lain? Jika yang pertama, gunakan json sepenuhnya untuk menggunakannya, jadi Anda belajar menggunakannya. Tantang diri Anda dengan teknologi baru - jika tidak, Anda tidak akan belajar cara menggunakannya.

Jawaban:

15

JSON memiliki beberapa keunggulan:

  • Ini adalah format terstruktur, yang dapat divalidasi dan diuraikan dengan alat dewasa yang ada.
  • Itu dapat berbicara dengan mudah ke JavaScript, yang membuatnya sangat berguna untuk komunikasi AJAX.
  • Ini sangat sederhana dan ringan. Apa pun yang ingin Anda gunakan untuk pertukaran data XML, JSON umumnya merupakan alternatif yang lebih baik.

Aturan praktis saya adalah, jika Anda hanya perlu mengembalikan elemen semantik tunggal dari panggilan, kirimkan sebagai teks biasa. Tetapi jika Anda perlu mengembalikan beberapa informasi, gunakan JSON.

Mason Wheeler
sumber
6
di bagian berbicara dengan JS jangan pernah menggunakan eval untuk mendapatkan nilai alih-alih gunakan JSON.parse tersedia di sebagian besar browser
ratchet freak
1
Ia berbicara dengan mudah ke PHP juga, karena json_decode()dan json_encode()mengkonversi antara string JSON dan Array()struktur data asli
Izkata
@Izkata hanya jika server Anda memiliki fungsi-fungsi itu.
Darth Egregious
Kecuali dalam hal pengajuan formulir, menggunakan standar istirahat JSON . Mengapa memperbaiki apa yang tidak rusak?
Brendan Long
2
@ BrendanLong: Standar itu tidak mengatakan apa-apa tentang menggunakan atau tidak menggunakan JSON. Jelas jika Anda melakukan pengiriman formulir, Anda harus menyandikan semua data sesuai dengan standar HTTP. Tetapi jika salah satu elemen bentuk yang Anda kirim adalah item kompleks yang mengandung banyak elemen semantik, menempatkan elemen itu dalam format JSON (yang kemudian dikodekan dengan benar oleh perpustakaan HTTP Anda) adalah cara yang baik untuk melakukannya.
Mason Wheeler
5

Untuk apa yang Anda jelaskan - ini terdengar seperti platform blogging di mana semuanya dikirimkan melalui formulir - tidak, Anda tidak perlu mengonversikan semuanya ke JSON. PHP menangani formulir dengan mulus untuk Anda. Tidak ada alasan untuk memperkenalkan sepotong komplikasi baru dalam situasi itu.

Sekali lagi, dalam keadaan spesifik Anda , JSON mungkin sesuatu yang akan Anda gunakan jika Anda perlu mengirim data semi-terstruktur kembali ke browser web. Di sisi browser, JSON akan sangat mudah untuk diuraikan dalam javascript.

GrandmasterB
sumber
2

JSON hanya berguna jika Anda bermaksud membuat situs berat JavaScript yang menggunakan permintaan Ajax untuk meneruskan data ke server / mendapatkan data untuk ditampilkan tanpa melakukan post-back penuh. Jika Anda tidak berniat memanfaatkan fungsionalitas itu menggunakan JSON hanya membungkus kode Anda di lapisan lain yang harus serial / deserialized untuk melakukan sesuatu yang berguna.

Ryathal
sumber
1

Saya tidak berpikir menerapkan JSON secara inheren akan meningkatkan situs Anda apa adanya. JSON adalah Notasi Objek JavaScript; jadi kecuali Anda mulai belajar JavaScript juga, saya tidak melihat nilai yang melekat dalam memastikan semuanya ada di JSON.

Honus Wagner
sumber
Anda tidak perlu belajar JavaScript untuk menggunakan / menyalahgunakan JSON. Bahasa-independen.
CokoBWare
0

Meskipun JSON sangat mudah dikembangkan dan terstruktur dengan baik, JSON bukan yang tercepat.

JSON sangat bagus untuk mengirim data dari server ke klien, karena itu menyelesaikan masalah dengan pengkodean.

Tetapi di server, Anda memerlukan kinerja maksimum dan konsumsi ruang disk minimum. Jadi, untuk tabel, Anda harus menggunakan kolom MySQL, dan untuk non-tabel format biner lebih disukai.

Untuk mengatasi masalah ekstensibilitas dengan file biner, Anda bisa memberi tag struktur Anda dengan kode 4 karakter untuk nama struktur dan nomor 1-2 byte untuk versi.

Triang3l
sumber
6
JSON adalah format data, bukan database.
Robert Harvey
Ya, tetapi dapat digunakan untuk menyimpan array.
Triang3l