我只想将包含yaml的字符串转换为另一个字符串,该字符串包含使用Java的corrseponding转换后的json.

例如,我有这个yaml的内容

---

paper:

uuid: 8a8cbf60-e067-11e3-8b68-0800200c9a66

name: On formally undecidable propositions of Principia Mathematica and related systems I.

author: Kurt Gödel.

tags:

- tag:

uuid: 98fb0d90-e067-11e3-8b68-0800200c9a66

name: Mathematics

- tag:

uuid: 3f25f680-e068-11e3-8b68-0800200c9a66

name: Logic

在名为yamlDoc的String中:

String yamlDoc = "---\npaper:\n uuid: 8a... etc...";

我想要一些方法,可以将yaml String转换为另一个带有相应json的String,即下面的代码

String yamlDoc = "---\npaper:\n uuid: 8a... etc...";

String json = convertToJson(yamlDoc); // I want this method

System.out.println(json);

应该打印:

{

"paper": {

"uuid": "8a8cbf60-e067-11e3-8b68-0800200c9a66",

"name": "On formally undecidable propositions of Principia Mathematica and related systems I.",

"author": "Kurt Gödel."

},

"tags": [

{

"tag": {

"uuid": "98fb0d90-e067-11e3-8b68-0800200c9a66",

"name": "Mathematics"

}

},

{

"tag": {

"uuid": "3f25f680-e068-11e3-8b68-0800200c9a66",

"name": "Logic"

}

}

]

}

我想知道在这个例子中是否存在类似于convertToJson()方法的东西.

我尝试使用SnakeYAML来实现这一点,所以这段代码

Yaml yaml = new Yaml();

Map map = (Map) yaml.load(yamlDoc);

构造包含已解析的YAML结构的地图(使用嵌套的地图).然后,如果有一个可以将地图转换为json String的解析器,它将解决我的问题,但我也没有找到类似的东西.

任何回复将不胜感激.

解决方法:

这是一个使用Jackson的实现:

String convertYamlToJson(String yaml) {

ObjectMapper yamlReader = new ObjectMapper(new YAMLFactory());

Object obj = yamlReader.readValue(yaml, Object.class);

ObjectMapper jsonWriter = new ObjectMapper();

return jsonWriter.writeValueAsString(obj);

}

要求:

compile('com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.7.4')

标签:java,json,yaml

来源: https://codeday.me/bug/20190930/1836904.html

java yml 转 map_如何在Java中将YAML转换为JSON?相关推荐

  1. Word处理控件Aspose.Words功能演示:在 Java 中将 DOCX 转换为 JSON

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  2. linux shell转换成时间,如何在Bash中将时间戳转换为日期?

    如何在Bash中将时间戳转换为日期? 我需要一个将Unix时间戳转换为日期的shell命令或脚本. 输入可以来自第一个参数或来自stdin,允许以下使用模式: ts2date 1267619929 和 ...

  3. python十进制小数转二进制小数,从零开始学Python|如何在Python中将小数转换为二进制...

    Python是一种高度通用且功能强大的编程语言.在可以做的许多事情中,从十进制转换为二进制,反之亦然,这是最突出的一项.因此,在本文中,我们将更多地讨论如何在Python中将十进制转换为二进制,反之亦 ...

  4. 如何在JavaScript中将十进制转换为十六进制

    如何在JavaScript中将十进制值转换为等效的十六进制值? #1楼 如果要将数字转换为RGBA颜色值的十六进制表示形式,我发现这是以下几个技巧中最有用的组合: function toHexStri ...

  5. struts2:JSON在struts中的应用(JSP页面中将对象转换为JSON字符串提交、JSP页面中获取后台Response返回的JSON对象)...

    JSON主要创建如下两种数据对象: 由JSON格式字符串创建,转换成JavaScript的Object对象: 由JSON格式字符串创建,转换成JavaScript的List或数组链表对象. 更多关于J ...

  6. javascript中将字符串转换为json格式的三种方法

    摘自:http://www.phpzixue.cn/detail1128.shtml javascript中将字符串转换为json格式的三种方法:  json在我们js的开发过程中经常会用到像在使用a ...

  7. java xml转html_如何在Java中将XML文档转换成HTML文档.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp网页设计/UI 如何在Java中将XML文档转换成HTML文档. ...

  8. java soap 头_如何在Java中添加Soap标头

    我有一个来自oracle的NO.net Web服务,要访问,我需要添加soap标头.如何在Java中添加soap标头? Authenticator.setDefault(new ProxyAuthen ...

  9. java 正则表达式 开头_如何在Java中修复表达式的非法开头

    java 正则表达式 开头 您是否遇到过这个令人难以置信的错误,想知道如何解决它? 让我们仔细阅读一下,研究如何解决表达式Java非法开头错误. 这是一个动态错误,这意味着编译器会发现某些不符合Jav ...

最新文章

  1. android 加载h5页面部分机型滑动卡顿回弹_网易爆款H5 的交互方法参考
  2. CPU 核数与线程数有什么关系?
  3. WinForm 曲线图控件
  4. oracle 安装程序异常终止,Oracle安装错误“程序异常终止
  5. 【深度学习】LSTM神经网络解决COVID-19预测问题(一)
  6. 发那科机器人注油_如何给发那科机器人做三年保养?干货!
  7. 【leetcode】3 minstack
  8. nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
  9. 基因分子生物学~DNA与蛋白质模板
  10. 状态压缩 之 UVA 10944 - Nuts for nuts..
  11. 前端之BOM和DOM
  12. 排序----在线性时间内排序
  13. 时域和频域的关系(转载)
  14. Boost.Asio 网络编程([译]Boost.Asio基本原理)
  15. Fluxion安装教程
  16. 我去扒了杜蕾斯的微博
  17. C++栈的初始化,入栈,出栈,获取栈顶元素等操作
  18. python猜单词游戏_Python小程序之猜单词游戏
  19. 一看即懂的TCP首部确认号和序列号解析!!!
  20. appfuse3 生成代码

热门文章

  1. boost::units模块测试元函数 is_unit, is_quantity, is_dimension_list ....
  2. boost::detail::spinlock相关的测试程序
  3. boost使用Proto转换来实现的例子
  4. boost::mpl模块实现print相关的测试程序
  5. GDCM:gdcm::ImageApplyLookupTable的测试程序
  6. ITK:用颜色标记图像中的区域
  7. VTK:可视化之Blow
  8. VTK:可视化之Follower
  9. VTK:PolyData之PointNormals
  10. VTK:IO之GLTFImporter