1
ysc3839 2019-10-17 22:14:01 +08:00 via Android
Python pyyaml load,然后 json dump。
|
2
TMaize 2019-10-17 22:18:05 +08:00
[js-yaml]( http://nodeca.github.io/js-yaml/)
|
3
guomingxing OP |
4
967182 2019-10-17 22:24:39 +08:00
org.yaml.snakeyaml.Yaml
|
5
TMaize 2019-10-17 22:25:12 +08:00
@guomingxing yaml 包转 map,map 转 json
|
6
Reficul 2019-10-18 00:24:12 +08:00
YAML 和 JSON 是不等的,YAML 是 JSON 的超集。比如:
···yaml --- ? K1: V1 : K2: V2 ··· |
7
zhouhu 2019-10-18 01:01:48 +08:00 1
https://stackoverflow.com/questions/23744216/how-do-i-convert-from-yaml-to-json-in-java
仅供参考 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); } |
8
mingl0280 2019-10-18 01:38:13 +08:00
额……编程的思路的话,就直接读到内存里然后 dump 到 json 呗,或者读到硬盘里(作为数据库)然后 dump 到 json
非编程的话,Navicat Premium 倒一下就行了 |
9
guomingxing OP @zhouhu 我也搜到了这个,全网可能就搜到了这个最有用,但是学识浅薄没看懂嘿嘿。
|
10
aitaii 2019-10-18 08:07:50 +08:00 via iPhone 1
yaml 转 map,map 转 json
|
11
mamahaha 2019-10-18 08:32:48 +08:00
正则啊
|
12
sarie 2019-10-18 08:52:18 +08:00
现在问问题都不知道自己先百度或者 google 一下么
|
13
zhouhu 2019-10-18 13:48:26 +08:00
@guomingxing 哪里看不懂啊
|
14
RuzZ 2019-10-18 14:04:07 +08:00
@zhouhu 其实这个 SnakeYAML 里面也有一些地方会比较奇怪,比如`on|On|ON|off|Off|OFF`这些,即使是 key,也会解析成 bool 值
|
15
ztcaoll222 2019-10-18 15:04:05 +08:00 1
parse 成类, 然后 dump
|
16
ztcaoll222 2019-10-18 15:07:04 +08:00
|
17
fewok 2019-10-18 16:57:24 +08:00
yml 支持很多语法啊,比如占位、随机数、逻辑判断。这些都忽略吗??
|
18
phontomKiseKi 2019-10-18 16:57:25 +08:00
|
19
guomingxing OP @zhouhu 谢谢老哥,现在已经解决了。
@sarie 我确实是搜了很多办法,然后才来问的。 不过现在已经解决了,下面把办法粘贴一下吧,以后同样问题的希望不绕弯。 =================================================== //导入 fastjson 和 snakeyaml 两个依赖包,yamlString 传一 yaml 字符串。 public static JSONObject convertToJson(String yamlString) { Yaml yaml= new Yaml(); Map<String, Object> map = (Map<String, Object>) yaml.load(yamlString); JSONObject jsonObject=new JSONObject(map); return jsonObject; } //如果想要读取外部的 InputStream inputStream = null; try { //yamlFilePath 是你的 yaml 文件路径 inputStream = new FileInputStream(yamlFilePath); } catch (FileNotFoundException e) { e.printStackTrace(); } =================================================== 更多的可以去看这篇,我也是看到这个然后改了改发现是可以的。 https://blog.csdn.net/ruxyeah/article/details/78978034 |