2016-04-11 6 views
1

Oldukça mutlu jackson objectmapper kullanıcısıyım.json'da Html (json belirtimine gerek yoktur)

Ama bana hata yapan bir şey, json'a html girmek için elimden gelen yoldur, bir kaçamak kullanıcı için çok zor olan bir kaç kaçış var.

İzin verilmeyen bir düz html ile jackson tarafından okunabilen bir json dosyasında izin vermenin bir yolu var mı? Örneğin, xml'de cdata gibi bir şey.

Json'un json teknik özelliklerini/standardını karşılaması gerekmez ve herhangi bir işlem öncesi veya sonrası işleme mümkündür. Fakat örneğin not defteri kullanarak jsonda manuel olarak girilmesi gerekir.

Bu konu hakkında stackoverflow ile ilgili birçok soru ve cevap var, ancak çoğunlukla benim için bir gereklilik olmayan json belirtimini karşılamaları gerekiyor.

+0

JSON dosyasına yapıştırmadan önce HTML'den çıkmak için bir araç kullanabilirsiniz. HTML'yi not defterine yazın -> çevrimiçi bir araç kullanarak onu kaçının -> JSON dosyasına yapıştırın. – Teddy

+0

http://www.freeformatter.com/javascript-escape.html – Teddy

+0

Veya bu aktiviteyi sık sık yapmanız gerekiyorsa, girişlerinizi almak ve JSON dosyasını oluşturmak için bir grafik aracı yazabilirsiniz. – Teddy

cevap

1

Ben @Teddy çözümü ile gitti: .jsonxyz.Then .json için .jsonxyz dönüştürmek istiyorum özel bir java programını çalıştırmak olarak

Sadece CDATA'da gibi bir şey eklemek ve dosyayı kaydedin

bir desen

<cdata>(.*?)</cdata> 

ı ile

benim json içinde html içeren cdata eşleşir. AppendReplacement ile jt ile uyumlu html ile html değiştirildi. Sonra sadece Jackson ile bütün jsonu okudum.

cdata ile tekrar dizi haline getirmek ve çıkmamış html i genişletilmiş:

HtmlFieldSerializer extends JsonSerializer<String>{ 
... 
gen.writeRaw(": \"<cdata>"+value+"</cdata>\""); 

Sonraki Jackson sadece dosyaya json yazabilir.