2010-03-26 19 views

cevap

7

JSON'u el ile ayrıştırmanıza gerek yoktur.

$.getJSON('/ajax/buy', { 'categoryname' : chosenSelected }, function(data) { 

    // data will be already a parsed JSON object 
}); 

aramak çalışıyoruz parse yöntem json2 kütüphanede mevcuttur: Sen getJSON işlevini kullanabilirsiniz.

+0

Teşekkürler! Benzer bir $ .postJSON işlevi bulamıyorum. Bunun için herhangi bir özel neden var mı? – Joel

+0

Ve gerçekten bir işlev yoksa, Luc'as fikri iyi olacak gibi görünüyor: $ .post ('/ ajax/buy', {'categoryname': selectedSelected}, işlev (veri) { data = jQuery.parseJSON (veri); – Joel

+0

Hayır, lütfen yeryüzündeki hiçbir şey, jQuery'deki yerleşik işlevleri kullanmak yerine JSON'u manuel olarak ayrıştırmanın daha iyi olduğuna inanıyorum, bu size daha fazla kod yazmanızı ve daha fazla kod yazmanızı sağlar Aynı şeyi elde etmek için daha fazla şansınız var: –

11

jQuery'de parseJSON kullanılabilir.

+0

Diğer cevaplar doğru olsa da, getJSON ya da diğer ajax işlevlerini alabilmenize rağmen, JSON'a IE7 dostu bir alternatife sahip olmanızın yararı olduğunu söyleyebilirim, bu nedenle bu işlevi işaretlediğiniz için teşekkürler. –

+0

jQuery Kaynak: ** parseJSON: JSON.parse, ** bu yüzden jQuery.parseJSON'a güvenmem. @ Sam'in yorumu hakkında kayıt için – Sam

+1

. Bu sadece eski tarayıcılar için desteği düşüren jQuery 2.0 için geçerlidir. 1.9.x'de, parseJSON bir geri dönüş ile uygulanır. – gargc

1

JSON ayrıştırıcısı eklemeniz gerekir. Eski tarayıcılar buna dahil değildir.

1 - deposuna git https://github.com/douglascrockford/JSON-js/

2 - indirin ve sitenize veya uygulamadaki json2.js sayılabilir.

Hepsi bu kadar.

+0

Yukarıda da belirtildiği gibi, JavaScript'i JSON'a kodlamak istediğinizde onun sadece kesinlikle gerekli olduğuna inanıyorum. – Phluks

İlgili konular