description: |
this is my description //imagine there's a space after description
this is my description in the second line
JsonNode node = new YamlMapper().readTree(yamlString);
new YamlMapper().writeValueAsString(node))
"this is my description \nthis is my description in the second line\n"
new ObjectMapper(
new YAMLFactory()
.disable(YAMLGenerator.Feature.MINIMIZE_QUOTES))
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
如果我删除原始YAML中description
后面的空格,它就可以正常工作
Jackson的API水平太高,无法详细控制输出。您可以直接使用SnakeYAML(这是Jackson在引擎盖下使用的),但是您需要向下到API的节点或事件级别来控制输出中的节点样式。
另请参见:我想加载一个YAML文件,可能会编辑数据,然后再次转储。如何保留格式?
这个答案显示了SnakeyAML的事件API保持格式的一般用法;当然,对一系列事件进行更改是很难的。您可能想要处理节点图,这个答案有一些示例代码,显示如何将YAML加载到节点图中,处理它,并再次写回它。
我正试图为Rails项目的国际化编写一本YAML词典。但是我有点困惑,因为在一些文件中我看到了双引号中的字符串,而在一些文件中没有双引号。需要考虑的几点: null 通常不需要引号; 如果要转义字符,请使用双引号; 使用带有单引号的时...?!?
问题内容: 我有以下类,它是由Jackson映射的(简化版): 在某些情况下,服务器会返回,然后我想将name设置为空的Java String。 是否有任何Jackson注释,或者如果属性为,我应该只检查getter中的null并返回空字符串? 问题答案: 您可以在默认构造函数中或声明时进行设置: 要么
我有以下由Jackson映射的类(简化版): 在某些情况下,服务器返回,然后我想将name设置为空Java字符串。 是否有任何Jackson注释,或者如果属性为,我应该只检查getter中的null并返回空字符串吗?
问题内容: 我想从字符串中删除一个双引号(“)开头和结尾。 如何在Java中实现呢?谢谢! 问题答案: 您可以为此使用模式。 例如 要了解有关正则表达式的更多信息,请访问http://regular-expression.info。 也就是说,这有点像您要发明CSV解析器的味道。如果是这样,我建议您四处看看现有的库,例如OpenCSV。
下面是JSON字符串: 为了在java对象中反序列化这个字符串,我必须删除\,这可以使用string replace方法来完成。除此之外,在[和]之前还有双引号。我如何删除这些双引号或允许它们时,反序列化使用杰克逊。
问题内容: 我是Java新手,所以我几乎不需要帮助 我有 我想向此数组(脚本)添加新的字符串(string1,string2)作为示例 我想在以后的阶段中不添加新字符串 我该怎么办? 问题答案: 您无法在Java中调整数组的大小。 声明数组的大小后,它将保持固定。 相反,您可以使用具有动态大小的对象,这意味着您无需担心其大小。如果数组列表的大小不足以容纳新值,则它将自动调整大小。