Birkaç tane Javascript prototipim var. Başlangıçta, örneklerin diğer veriler için bazı genel yer tutucu bilgileriyle birlikte yalnızca kimlik numaraları doldurulur. Sonra kimliği ve nesne türü (jQuery'nin AJAX işlevini kullanarak) ile sunucuya bir ileti gönderiyorum ve sunucu tüm eksik bilgileri (ancak kimliği olmayan) bir JSON nesnesi döndürür. Döndürülen nesnedeki değişkenler, varolan nesne ile aynı adı taşır.AJAX JSON nesnesinin mevcut Nesne'ye kopyalanması
Bunu varolan boş nesneye aktarmanın en kolay yolu nedir? Ben
- döndürülen nesne eşit nesne ayarlayın, ardından kimliği kopyalayıp birkaç alternatifleri ile geldim (prototip fonksiyonlarını kaybeder?)
- özdeş olan bir nesneyi alır her nesne için bir işlev oluşturmak yapısı ve JSON nesnesinin anahtar-değer çiftleri yoluyla kopya veri
- döngü ve üçüncü seçeneği kullanırsanız onları varolan nesne
kopyalamak, bu bunu yapmak için doğru yolu nedir? : json
varsayılarak
for (var key in json) {
if (object.hasOwnProperty(key)) {
object[key] = json[key];
}
}
dönen nesne olup object
mevcut amacıdır.
Eğer json 'sade JSON ise o zaman' hasOwnProperty' kontrolüne ihtiyacınız olduğunu düşünmüyorum. Birisi Object.prototype' ile eğlenmediyse. –
Soru şu, JSON-Object'iniz ile ne yapmak istiyorsunuz? Bir nesneyi değerlendirmek istiyorsanız, JSON.parse() sizin için hile yapar. Var olan bir nesneye birleştirmek istiyorsanız, jQuery.extend() daha iyi bir öneri olacaktır. –
@PaulGrime Bunu, json nesnesinde varolan 'nesnede istemediğim ekstra bir anahtarın olması durumunda bir önlem olarak yapıyorum. Fark edecekseniz, json'da anahtarlar arasında dolaşıyorum, ancak 'nesneye' karşı kontrol ediyorum. – Jaws212