Я пытаюсь поместить json в javascript файл в java, но когда я пишу json в строку, строка не представляется допустимым json для javascript; ему не хватает некоторых побегов. (Это происходит в строке в json, которую я отформатировал как fux json.)
Например, это будет действительный json в моем файле javascript:
{
"message":
"the following books failed: [{\"book\": \"The Horse and his Boy\",\"author\": \"C.S. Lewis\"}, {\"book\": \"The Left Hand of Darkness\",\"author\": \"Ursula K. le Guin\"}, ]"
}
Вот то, что я получаю, хотя двойные кавычки не экранируются:
{
"message":
"The following books failed: [{"book": "The Horse and his Boy","author": "C.S. Lewis"}, {"book": "The Left Hand of Darkness","author": "Ursula K. le Guin"}, ]"
}
Получаю второй результат, когда я это делаю:
new ObjectMapper().writer().writeValueAsString(booksMessage);
Но когда я пишу его непосредственно в файл с помощью jackson, я получаю первый, хороший результат:
new ObjectMapper().writer().writeValue(fileToWriteTo, booksMessage);
Итак, почему же Джексон по-разному избегает записи при записи в файл и как мне его избежать, когда я пишу в строку?