'daki bir alana dayalı koşullu olarak JSON kodunu çözme Bir API'dan JSON alıyorum ve yanıt 30 türden biri olabilir. Her türün benzersiz bir alan kümesi vardır, ancak tüm yanıtlar, hangi tür olduğunu bildiren bir alan type
'a sahiptir.JSON
Benim yaklaşımım serde kullanmaktır. Her yanıt tipi için bir yapı oluşturur ve bunları dekode edebilirim. Bir kez aldım, yeni alınmış bir mesaj için hangi yapının kullanılması gerektiğini nasıl seçerim?
Şu anda type
için yalnızca bir alanla başka bir TypeStruct
yapı oluşturdum. JSON'u bir TypeStruct
içine çözüyorum, ardından tip değeri temel alınarak alınan mesaj için uygun yapıyı seçin ve mesajı tekrar çözün.
Bu kod çözme çoğaltmasından kurtulmak istiyorum.
Şu anki çözümün benim yapacağım şey. "Kod çözme çoğaltması" nı engellemek konusunda daha iyi veya daha verimli olacağını düşünüyorsunuz? – Shepmaster
Python'dan geliyorum, bu yüzden düzgün yazılan dillerle kendinizi rahat hissetmiyorum. Ama eğer diyorsan, benim yaklaşımım iyi, onunla bağlı kalacağım. – eyeinthebrick
Sadece benim düşüncem, ama bu optimizasyon hakkında endişe verici erken bir örnek gibi geliyor. Çalıştırmak ve yeterince hızlı olup olmadığını görmek için kodunuzu alın. Değilse, kodunuzu değiştirmeden önce profilinize ekleyin - belki de JSON kod çözme problemi bile değil. – llogiq