Я пишу код на Scala, используя эти пакеты: пакет org.json4s, пакет jackson и функцию writePretty класса Serialization.
Дело в том, что он не отформатирован так, как pre-commit-hooks Pretty-format-json.
Я хочу отредактировать правила форматирования на стороне масштаба, чтобы они соответствовали предварительному форматированию. commit-hooks.
Это означает отсутствие пробела перед ":", отсутствие пробела для пустого массива, одна строка на элемент для непустого массива.
Вот так
{
"name": "John",
"age": 30,
"city": "New York"
}
Есть ли способ настроить writePretty без перекодирования PrettyPrinter?
Я ожидал такого результата (pre-commit-hooks довольно -format-json результат)
{
"name": "John",
"age": 30,
"city": "New York"
"misc": [],
"required": [
"name"
]
}
не это:
{
"name" : "John",
"age" : 30,
"city" : "New York"
"misc" : [ ],
"required" : [ "name" ]
}
------ РЕДАКТИРОВАТЬ ------
Я нашел решение, возможно, не самое элегантное, но оно работает :
вместо этого используйте только
Serialization.writePretty(jsonSchema)
val printer: PrettyPrinter = new DefaultPrettyPrinter()
.withObjectIndenter(new DefaultIndenter(" ", "\n"))
.withArrayIndenter(new DefaultIndenter(" ", "\n"))
JsonMethods.mapper.setDefaultPrettyPrinter(printer)
Serialization.writePretty(jsonSchema).replace("\" :", "\":").replace("[ ]", "[]") + "\n"
Подробнее здесь: https://stackoverflow.com/questions/785 ... oks-pretty