Ben dinlendirici web servisleri çağırmak için bir şablonun olarak kullanılan bir JObject
var JObject serileştirirler. Bu JObject
, bir ayrıştırıcı yoluyla oluşturulur ve kullanıcı, bitiş noktası şemasının neye benzediğini anlatan bir şablon olarak kullanıldığından, tüm özelliklerini korumanın bir yolunu bulmak zorunda kaldım, bu yüzden değerlerini null
olarak ayarlıyorum.JSON.NET
{
"Foo":{
"P1":null,
"P2":"hello world",
"P3":null,
"P4":{
"P1":1,
"P2":null,
"P3":null,
},
"FooArray":[
{
"F1":null,
"F2":null,
"F3":null,
}
]
},
"Bar":null
}
onlar sadece anlam: Böyle Foo.P2
ve Foo.P4.P1
olarak, ihtiyaç duydukları gibi kullanıcı daha sonra tek tek alanları doldurun yapabiliyor
{
"Foo":{
"P1":null,
"P2":null,
"P3":null,
"P4":{
"P1":null,
"P2":null,
"P3":null,
},
"FooArray":[
{
"F1":null,
"F2":null,
"F3":null,
}
]
},
"Bar":null
}
: örnek olarak, bu gibi nesne özgün görünüyor budur Bu iki alana dikkat edin. Şimdi bu şablonu (JObject
) bir JSON dizisine serileştirmek istiyorum, ancak yalnızca gösterilmek üzere doldurulmuş olan alanları istiyorum. Bu yüzden şunu denedim: Bu işe yaramadı Maalesef, bu işe yaramadı. this question ile karşılaştım ve nesnede bir null
değerinin gerçek bir JToken
türü olduğunu ve gerçekten bir null
olduğunu fark ettiniz, bu da mantıklı. Ancak, bu çok özel durumda, bu "kullanılmayan" alanlardan kurtulmam gerekiyor. El düğümleri üzerinde yinelenen ve bunları kaldırarak denedim ama bu da işe yaramadı. Kullandığım tek yönetilen türün JObject
olduğunu unutmayın; Bu "şablon" çalışma zamanında çözüldüğü için, nesneyi niteliklere dönüştürmek veya tanımlamak için bir modelim yok. Sadece birinin böyle bir sorunla karşılaşıp karşılaşmadığını ve herhangi bir kavrayışı olup olmadığını merak ediyordum. Herhangi bir yardım büyük beğeni topluyor!
Teşekkürler! Soruyu gönderdikten hemen sonra neredeyse benzer bir algoritma ile geldim ama cevabınız hala geçerli :) – PoweredByOrange
Sorun değil; yardımcı olduğuma sevindim. –
Bunu başarmaya çalışırken sıkışmıştım, katkılarınız için teşekkürler, işe yarıyor! –