Я использую Cheshire для создания JSON для таких структур данных:
(require '[cheshire.core :refer [generate-string])
(generate-string {:id 123, :foo "something", :bar nil})
Что создает JSON следующим образом:
{"id": 123, "foo": "something", "bar": null}
Я бы хотел, чтобы JSON опускал ключи без значений; например
{"id": 123, "foo": "something"}
Сможет ли Чешир сделать это? Я, конечно, могу предварительно отфильтровать карту перед вызовом generate-string
, но, поскольку Чеширу все равно приходится проходить мою структуру данных, я подумал, что будет более эффективно поручить Чеширу выполнить фильтрацию.
null
– допустимое значение JSON, поэтому вам следует отфильтровать значенияnil
самостоятельно. Дополнительную информацию см. в этом вопросе. - person Leonid Beschastny   schedule 14.05.2014(keyword)
на ключах JSON во время синтаксического анализа. - person Josh Glover   schedule 14.05.2014