SORU
28 Kasım 2011, PAZARTESİ


Javascript nesne Vs JSON

Temel farklar açıkça Javascript nesne ve JSON dize arasında anlamak istiyorum.

Hadi aşağıdaki JS değişken yaratıyorum ki:

var testObject = {one: 1,"two":2,"three":3};

Q1. Tuşu/özellik adı tırnak işaretleri olmadan/ile de geçerli mi?(*örneğin 6*)

Evet, fark nedir?

Yukarıda orijinal JS nesne ve JSON arasındaki fark nedir JSON.stringify(testObject) kullanarak nesneyi dönüştürmek? S2:

Hemen hemen aynı olduklarını düşünüyorum. Bunun hakkında biraz bilgi lütfen.

S3: bir JSON dize ayrıştırma İçin, aşağıda tavsiye edilen yöntem nedir?

var javascriptObj = JSON.parse(jSonString);

CEVAP
28 Kasım 2011, PAZARTESİ


  1. Tuşu/özellik adı tırnak işaretleri olmadan/ile de geçerli mi ?

    Kullanarak Edebi gösterim Nesne ne zaman tırnak içinde bir anahtar içine almak için gereken tek anahtar özel bir karakter(if, :, - vb) içerir. JSON bir anahtar dikkati çekiyorgerekiriçine alınmasıçifttırnak.

  2. Eğer yukarıdaki 2 arasındaki fark (JS n ve JSON) var jSonString = JSON.stringify(testObject); kullanarak JSON nesne o dönüştürürseniz?

    JSON veri değişim biçimidir. Sıralı listeler ve sırasız haritalar, dizeleri Boolean değerleri ve sayı bir dize temsil edilebilir nasıl açıklayan bir standart. XML YAML ve diller arasındaki yapısal bilgi aktarmak için bir yoldur gibi, JSON aynıdır. Bir JavaScript öte yandan nesnenin fiziksel bir türüdür. PHP bir dizi, C sınıfı bir yapı gibi, bir JavaScript nesnesi bir tür iç için JavaScript.

    İşte bir hikaye. Hadi bir mağazadan mobilya satın aldığınız düşünün ve cevabını istiyorum. Ancak tek stok kaldı ekran modeli ama satın almanız katılıyorum.

    Dükkanda, göğüs-çekmece yaşayan bir nesnedir satın aldığınız:

    var chestOfDrawers = {
        color: "red",
        numberOfDrawers: 4
    }
    

    Ancak, bir-çekmece göğüs sonrası, (okuma, stringify) sökmek çok gönderemezsin. Mobilya açısından artık bir önemi yok. Şimdi JSON. Düz paketi şeklinde.

    {"color":"red","numberOfDrawers":4}
    

    Bunu aldığınızda, daha sonra yeniden-çekmece göğüs (okuma, çözümleme). Nesne bir şekilde dönüyoruz.

    Neden arkasında JSON/ XML ve YAML olduğunu sağlamak aktarılacak veri arasında programlama dilinde bir biçimi, katılımcı dilleri anlayabilir; sana veremem PHP veya C JavaScript nesne doğrudan; çünkü her dili temsil eden bir nesneyi farklı altında-luk. JSON gösterimde içine nesne stringified ettik ancak, çünkü, yani, verileri temsil etmek için standart bir yol, JSON iletmek edebilirizgösterimibaşka bir dil için nesne (C) PHP, olabiliryeniden oluşturunJavaScript kendi nesnesine nesne vardıtabanlınesnenin JSON temsili.

    Önemli JSON olamaz fonksiyonları veya tarihleri temsil dikkat etmek önemlidir. Eğer işlev bir üyesi ile bir nesne stringify için çalışırsanız, işlev JSON temsil görünmeyecektir. Bir tarih dizesi dönüştürülür;

    JSON.stringify({
        foo: new Date(),
        blah: function () { 
            alert('hello');
        }
    }); // returns the string "{"foo":"2011-11-28T10:21:33.939Z"}"
    
  3. Bir JSON dize ayrıştırma için, aşağıda tavsiye edilen yöntem nedir? var javascriptObj = JSON.parse(jSonString);

    Evet, ama older browsers don't support JSON natively (IE <8). Bu destek, json2.js içermelidir.

    Eğer jQuery kullanıyorsanız, desteklenen ve özel bir uygulama için başka bir geri dönüş olursa bu başlık altında JSON.parse() jQuery.parseJSON() giriş ayrıştırmak için arayabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006
  • placeboing

    placeboing

    7 Mart 2006
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008