Java SnakeYaml转储自动转换数字(表示为字符串)

Java SnakeYaml转储自动转换数字(表示为字符串),java,yaml,snakeyaml,Java,Yaml,Snakeyaml,我正在使用yaml转储方法为我的对象创建一个配置文件。我有以下代码: Map<String, String> map = new HashMap<>(); map.put("phonenumber","7285042388"); map.put("name","Cristina"); DumperOptions dumperOptions1 = new DumperOptions(); dumperOptions1.setDefaultFlowStyle(DumperOp

我正在使用yaml转储方法为我的对象创建一个配置文件。我有以下代码:

Map<String, String> map = new HashMap<>();
map.put("phonenumber","7285042388");
map.put("name","Cristina");
DumperOptions dumperOptions1 = new DumperOptions();
dumperOptions1.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml2 = new Yaml(dumperOptions);
System.out.println(yaml2.dump(map));`

我希望显示的电话号码不带单引号。我注意到使用对象类型为值的映射可以解决这个问题,但我需要值类型为字符串。如何解决这个问题?

您可以使用String类的replaceAll方法将all替换为replaceAll(“,”)等emply空格;
Map<String, Object> map = new HashMap<>();
map.put("phonenumber",  new BigInteger("7285042388"));
map.put("name","Cristina");
DumperOptions dumperOptions1 = new DumperOptions();
dumperOptions1.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml2 = new Yaml(dumperOptions1);
System.out.println(yaml2.dump(map));
Map<String, Object> map = new HashMap<>();
map.put("phonenumber",  new BigInteger("7285042388"));
map.put("name","Cristina");
DumperOptions dumperOptions1 = new DumperOptions();
dumperOptions1.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml2 = new Yaml(dumperOptions1);
System.out.println(yaml2.dump(map));
phonenumber: 7285042388
name: Cristina