有没有办法使用编辑/删除YAMLfile中的值?
我正在使用struts2-jquery-grid,其中的数据将从YAML文件中填充。现在,如果我编辑字段,它应该保存在YAML文件中。我能够分别使用yaml.load()和yaml.dump()读取YAML格式的值并将其写入文件。但是,我不知道如何编辑和删除特定的字段。
我在YAML链接中看到,我们可以使用模板处理器和其他选项,比如定义java属性的顺序、注释来简化yaml。但所有这些对我来说都没有任何意义。
这是我的序列化的代码,这里有一个称为假设的对象列表。在gridModel.add(assumption);,中,我将类假设(带脚镣和设置器的bean类)的值存储到gridModel中的列表中。
gridModel.add(assumption);
try {
FileWriter pr=new FileWriter("D:/yaml.yaml");
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(options);
String output=yaml.dump(gridModel);//,Tag.MAP, null);
pr.write(output);
System.out.print(pr.toString());
System.out.println();
pr.close();
}catch(Exception e){
e.printStackTrace();
}是我在一个名为yaml.yaml as:的文件中得到的输出
对于De-serialization,代码是:
InputStream input = new FileInputStream(new File("D:/yaml.yaml"));
Yaml yaml = new Yaml();
for (Object data : yaml.loadAll(input))
System.out.println("Data:"+data);控制台的输出是:
资料:[假设column1=1,column2=Balwant,column3=SPJ,column4=rerer,column5=null,假设column1=,column2=Vikas,column3=RNC,column4=erer,column5=null,假设column1=3,column2=,column3=PNBE,column4=erer,column5=null,假设column1=4,column2=Diwakar,column2=Diwakar,column5=null,,假设,]
我对yaml和struts2很陌生。所以,请回答一个干净的解决方案。如果我在描述需求时弄错了,请纠正我。提前谢谢..。
发布于 2012-12-03 07:14:04
我认为编辑的唯一方法是覆盖现有的yaml。我们需要从网格中获取值,并将ti覆盖到现有的一个。
https://stackoverflow.com/questions/13512591
复制相似问题