RestSharp'ın yerleşik JSON seri hale getiricisi, bir nesnenin özelliklerini sıfırlar veya varsayılan değer olsa bile, serileştirir. Bu özellikleri atlatmasını nasıl sağlayabilirim?RestSharp: Serileştirme sıfır değerlerini JSON'a nasıl atlarsınız?
cevap
Burada boş değerleri yok saymak için değiştirilmiş bir sürümün bir bağlantısı var. Yalnızca sıfırlayıcıları yok saymak için serializer seçeneklerini ayarlamanız gerekir.
Alternatif, önce serialize boş değerler göz ardı destekleyen diğer json kütüphaneleri (json.net, servicestack.text, vb) kullanabilirsiniz:
RestRequest request = new RestRequest();
...
string jsonString = ThirdPartySerialization(jsonObject);
request.AddParameter("application/json", jsonString, ParameterType.RequestBody);
kullanabilirsiniz boş değerleri göz ardı etmek için varsayılan SimpleJson
JSON serializer ile birlikte bir özel IJsonSerializerStrategy
.
Bunu yapmanın en kolay yolu, PocoJsonSerializerStrategy
'u aşağıdaki gibi genişletmektir. ( ) Ve sonra varsayılan seri hale getirici stratejisi olarak kullanın.
SimpleJson.SimpleJson.CurrentJsonSerializerStrategy = new IgnoreNullValuesJsonSerializerStrategy();
Bunun için teşekkürler, ancak şu anda en az 106.1.0 olan RestSharp'ın şu anki sürümü ile çalışmıyor şu anda: https: // github. com/restsharp/RestSharp/issues/1018 Umarız bu bir kez çözülürse tekrar çalışır veya en azından benzer bir şey olur. –
@JamesEby Bu yanlıştır. Bu çözüm hala çalışıyor ve bahsettiğiniz sorunla ilgili değil. Gönderdiğim çözüm, seri hale getirme stratejisini doğrudan RestSharp'ın kullandığı statik SimpleJson sınıfında yapılandırır ve bu nedenle RestSharp'daki sınırlı yapılandırma seçeneklerinden etkilenmez. Resmi belgelerde bile, bu gibi serileştirme stratejisini (bu sayfanın en altında) özelleştirmenin mümkün olduğunu belirtmiştir: https://github.com/restsharp/RestSharp/wiki/Deserialization – Conyc
Demek istediğim Artık bu statik sınıf kodda mevcut değil veya en azından kaldırılmış gibi görünüyor. En son sürüm olarak RestSharp'da böyle bir SimpleJson yapılandırma sınıfı bulamadım. Eğer yanılıyorsam ve hala görüyorsanız lütfen bana bildirin. –
- 1. RestSharp
- 2. RestSharp istemcisi, JSON yanıtı
- 3. Sıfır Değerlerini Boş Dize Olarak Biçimlendirme?
- 4. MPAndroidChart - Değeriniz sıfır olduğunda y değerlerini nasıl gösterirsiniz?
- 5. nazikçe RestSharp
- 6. JSON serileştirme
- 7. Serileştirme serileştirme ve serileştirme ile ilgili sorun
- 8. ASP.Net Çekirdeğinde JSON serileştirme/serileştirme
- 9. Sınırlandırılmış Json serileştirme ve serileştirme
- 10. RestSharp serileştirme JSON içeriği (bir nesneyi bir bayt dizisi içerir) hatası
- 11. RestSharp AddFile Akışını Kullanma
- 12. RestSharp & TLS 1.1
- 13. RestSharp v. WebClient?
- 14. Google Kimlik Doğrulama için RestSharp nasıl kullanılır?
- 15. RestSharp kullanarak HTTP istek gövdesine nasıl erişilir?
- 16. Sıfır ortalama sıfır olmayan değerler
- 17. RestSharp Üstbilgi değişikliğini kabul et
- 18. BigDecimal sıfır nasıl sıfırlanır
- 19. Facebook API Bildirme - C#, RestSharp
- 20. Postacı takvimi Ben C# - RestSharp
- 21. Grafik serileştirme
- 22. serileştirme verileri?
- 23. Django - Haystack Sorgu Serileştirme
- 24. Kolay Scala Serileştirme?
- 25. ServiceStack.Text ile ExpandoObject'i Serileştirme
- 26. Java'da sıfır sıfır (0) 'nın anlamı nedir?
- 27. AdMob Yanıt iletisi sıfır veya sıfır uzunluk
- 28. sıfır montaj
- 29. kryo listesi serileştirme
- 30. harita ve shared_ptr serileştirme?
Json.NET'in böyle bir parametresi vardır. 'JsonSerializerSettings.NullValueHandling = NullValueHandling.Ignore' ... RestSharp hakkında dunno – thenewseattle