JSON için sorgu dili


11

Çok büyük JSON iletisi döndüren bir sunucum var ve istemci uygulamam yalnızca bu yanıtın bir bölümüne bağlıdır. İstemci uygulamasının "xyz" özelliğinin JSON iletisinde olup olmadığını denetlemesi gerekir ve sonuca bağlı olarak belirli bir kullanıcı tabanını çalıştırır.

Bu gereksinim için tüm JSON mesajını nesneye dönüştürmek bana biraz pahalı geliyor ve bu nedenle bu soru.

XML için sahip olduğumuz gibi standart bir JSON sorgu dili var mı? Cevabınız evet ise, Java'daki bu sorgu dilinin uygulanmasını en iyi bilen nedir?

Bilginize: Sunucu tarafında yeni bir hizmetin değiştirilmesi veya eklenmesi bir seçenek değildir.


Javascript'te, yanıt doğru üstbilgiyle (application / json) gönderilirse, JSON yanıtı bir javascript nesnesi olacaktır. İstediğin bu mu? Sorunuzdan emin değilim.
Florian Margaine

@Florian Kabul ediyorum, sorumu güncelleyip java'ya özel yapmama izin verin.
Çiftlik

O zaman sanırım json.org/java'yı denediniz mi? :-)
Florian Margaine

Aynı şeyi merak ediyordum. Gördüğüm her JSON için Java kütüphanesi korkunç derecede hantal görünüyor ; JSON.getString(json_string, 'foo.22.bar')"foo" özelliğinde bir String içeren 22 eleman listesindeki "bar" özelliği için hiçbir şey yok
Izkata

Veya, her seferinde JSON baz = new JSON(json_string); baz.getString('foo.22.bar');
ayrışmayı

Yanıtlar:


6

Neden sadece javascript kullanmıyorsunuz? (JSON sonuçta Javascript Nesne Gösterimi'dir). Daha sonra JSON'u ayrıştırmak veya değiştirmek zorunda kalmazsınız.

EDIT http://json.org/java bir göz atın

Bu gereksinim için tüm JSON mesajını nesneye dönüştürmek bana biraz pahalı geliyor ve bu nedenle bu soru.

Öyle değil. Bir nesnenin serileştirilmesi ucuzdur (tezgah kendiniz test edin). Harici API ile konuşmak, daha pahalı bir büyüklük sırası olacaktır. Biraz daha hızlı olabilecek dizeyi doğrudan manipüle edebilirsiniz, ancak hataları riske atabilir, genişletilebilirliği azaltabilir ve okunabilirliği azaltabilirsiniz. Yüksek maliyet.


Sorumu güncelledim ve Java'ya özel yaptım.
Çiftlik

İstemci uygulaması yalnızca LWUIT desteğine sahip Ana Ünite üzerinde çalıştığı için javascript kullanmak bir seçenek değildir
Farm

2

"Ölç, tahmin etme". Evet nesne serileştirme ve serileştirme teorik olarak pahalı olabilirim, ancak uygulamanızın performans hedefleri nelerdir? Nesne (de) serileştirme, performansınızı kabul edilemez seviyelere zorlamazsa, endişelenmeyin :-). Elbette anahtar, performans sınırlarının ne olması gerektiğini bilmek (örn. 2 saniyede kullanıcıya yanıt süresi) ve istek / yanıt döngüsünün her bir bölümünü ölçmektir.

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.