2013-01-16 2 views
0

Я использую org.json.JSONWriter в Java. Мне нужно иметь значение XML для определенного ключа.Как разрешить JSONWriter принимать XML-форматированный ключ?

StringWriter writer = new java.io.StringWriter(); 
JSONWriter w = new JSONWriter(writer); 
w.object() 
    .key("data").value(xmlContents) 
.endObject(); 
System.out.println(writer.toString()); 

Запуск этого кода, где xmlContents является допустимым содержанием XML файла. Результирующий JSONObject заканчивается, избегая всех закрывающих тегов моего XML. XML, изначально

<?xml version=\"1.0\" encoding=\"UTF-8\"?><my_xml><version>2.0</version><date>2013-01-16T20:44:31Z</date></my_xml> 

и превращается в

{"data":"<?xml version=\"1.0\" encoding=\"UTF-8\"?><my_xml><version>2.0<\/version><date>2013-01-16T20:44:31Z<\/date><\/my_xml>"} 

ответ

0

не на 100% уверен, но попробуйте использовать setHtmlSafe() для вашего JasonWriter ..

От JavaDocs: setHtmlSafe()

Настройте этого автора, чтобы испустить JSON, который безопасен для прямого включения в документы HTML и XML. Это ускользает от HTML-символов <,>, & и = перед тем, как записать их в поток. Без этого параметра ваш XML/HTML-кодер должен заменить эти символы соответствующими управляющими последовательностями.

+0

Можете ли вы предоставить ссылку, пожалуйста? Я не вижу этого метода нигде. – mvd

+0

http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonWriter.html – spooky

+0

Я использую org.json.JSONWriter, к сожалению, не библиотеку google – mvd

Смежные вопросы