JSON'u sadece JSON'u kullanmak için mi kullanmalıyım


11

Ben bir PHP / MySQl arka uç ile, öğrenme için bir blog sitesi inşa ediyorum. Tüm kullanıcı girdileri POST isteklerinde gönderilen formlarla işlenir.

JSON kullanımı bir şekilde daha temiz mi yoksa özellikleri korumayı veya eklemeyi kolaylaştıracak mı? Yoksa sebepsiz bir değişim biçimi mi ekliyorum?

Yani esasen, JSON kullanılarak en iyi hangi işlevsellik uygulanacaktır?


4
Alternatif nedir? Kendi veri biçiminizi mi icat ediyorsunuz?

@delnan: Yaml, CSV. Muhtemelen birkaç tane daha düşünebilirim.
Robert Harvey

10
Blah'ı bilge bir plan kullanmak uğruna nadiren kullanıyor. JSON'un iyi olduğu şeylere bakın ve ardından bu belirli yönler için JSON'u kullanmaya değip değmeyeceğini düşünün.
whatsisname

@RobertHarvey: Veya standart HTTP formları.
cHao

7
I'm building a blogging site for learning- ilgili teknolojileri öğreniyor musunuz? ya da başkalarına malzeme sağlamak için? Eğer eski, kesinlikle - kullanmak için json kullanın, böylece kullanmayı öğrenin. Yeni teknolojilerle kendinize sorun; aksi takdirde bunları nasıl kullanacağınızı öğrenemezsiniz.

Yanıtlar:


15

JSON'un birkaç avantajı vardır:

  • Mevcut, olgun araçlarla doğrulanabilen ve ayrıştırılabilen yapılandırılmış bir biçimdir.
  • JavaScript ile kolayca konuşabilir, bu da AJAX iletişimi için çok yararlı olmasını sağlar.
  • Son derece basit ve hafif. XML veri değişimini kullanmak istediğiniz herhangi bir şey, JSON genellikle daha iyi bir alternatiftir.

Temel kuralım, bir çağrıdan yalnızca tek bir anlamsal öğe döndürmeniz gerekiyorsa, bunu düz metin olarak gönderin. Ancak, birden fazla bilgi parçası döndürmeniz gerekirse JSON'u kullanın.


6
JS kısmı ile konuşma hiç değerini almak için eval kullanmayın, bunun yerine çoğu tarayıcıda mevcut JSON.parse kullanın
cırcır ucube

1
Bir JSON dizesi ve yerel veri yapısı arasında dönüştürme json_decode()ve PHP ile kolayca konuşurjson_encode()Array()
Izkata

@Izkata yalnızca sunucunuzda bu işlevler varsa.
Aralık'ta Darth Egregious

Form gönderme durumu dışında, JSON standartlarını ihlal eder . Kırılmayan şeyi neden düzeltmeliyim?
Brendan Uzun

2
@BrendanLong: Bu standart JSON kullanımı veya kullanılmaması hakkında hiçbir şey söylemiyor. Açıkçası bir form gönderme yapıyorsanız, tüm verileri HTTP standardına göre kodlamanız gerekir. Ancak, gönderdiğiniz form öğelerinden biri birden çok semantik öğe içeren karmaşık bir öğeyse, bu öğeyi JSON biçiminde (daha sonra HTTP kitaplığınız tarafından doğru şekilde kodlanır) koymak, bunu yapmanın iyi bir yoludur.
Mason Wheeler

5

Açıkladığınız şey için - her şeyin formlarla gönderildiği bir blog platformu gibi görünüyor - hayır, hepsini JSON'a dönüştürmeniz gerekmez. PHP formları sizin için sorunsuz bir şekilde işler. Bu durumda yeni bir komplikasyon ortaya çıkarmak için hiçbir neden yoktur.

Yine, özel durumunuzda , yarı yapılandırılmış verileri web tarayıcısına geri göndermeniz gerekirse JSON kullanacağınız bir şey olabilir . Tarayıcı tarafında, JSON javascript ayrıştırmak çok kolay olurdu.


2

JSON, yalnızca sunucuya veri aktarmak / verileri tam bir geri gönderme yapmadan görüntülemek için Ajax isteklerini kullanan bir JavaScript ağır site oluşturmayı düşünüyorsanız faydalıdır. JSON kullanarak bu işlevi kullanmak gibi bir niyetiniz yoksa, kodunuzu yararlı bir şey yapmak için serileştirilmesi / serileştirilmesi gereken başka bir katmana sarmaktır.


1

Ben JSON uygulamak doğal olarak sitenizi olduğu gibi geliştireceğini sanmıyorum. JSON, JavaScript Nesne Gösterimi'dir; JavaScript'i öğrenmeye başlamadığınız sürece her şeyin JSON'da olduğundan emin olmanın doğasında bir değer görmüyorum.


JSON'u kullanmak / kötüye kullanmak için JavaScript öğrenmeniz gerekmez. Dilden bağımsızdır.
CokoBWare

0

JSON çok genişletilebilir ve iyi yapılandırılmış olsa da, en hızlı olanı değil.

JSON, kodlama ile ilgili sorunları çözdüğü için sunucudan istemcilere veri göndermek için mükemmeldir.

Ancak sunucuda, maksimum performansa ve minimum disk alanı tüketimine ihtiyacınız vardır. Bu nedenle, tablolar için MySQL sütunlarını kullanmalısınız ve tablo olmayanlar için ikili bir format tercih edilir.

İkili dosyalardaki genişletilebilirlik sorunlarını çözmek için, yapılarınızı yapı adı için 4 karakterli bir kod ve sürüm için 1-2 baytlık bir sayı ile etiketleyebilirsiniz.


6
JSON bir veri biçimidir, bir veritabanı değildir.
Robert Harvey

Evet, ancak dizileri saklamak için kullanılabilir.
Triang3l
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.