java Json/xml/properties文件处理

时间:2025-04-05 09:30:09

文章目录

  • 1. json文件处理
    • 1.1 使用gson读取解析json配置文件
    • 1.2 Jackson将Java对象转成json字符串
  • 2.解析properties文件

1. json文件处理

json字符串格式化可以使用jsonviewer工具查看。有时候,自己在写json串的时候,很容易缺少一个}或是其他配对的符号,该工具可以检查串是否符合josn格式。且工具比较小

java 处理方面包括如下几种方法:

类型 简介
传统Json方式 复杂的Json数据转换成实体类存在缺陷,性能和功能不够完善
Jackson方式 复杂的Json数据转换成实体类存在缺陷,性能和功能优于传统方式
Gson方式 功能方面在几种方式中最优,性能方面不如Jackson方式
FastJson方式 复杂的实体类转换成Json数据存在缺陷,解析json的速度优于其他方式

下面主要介绍gson和jackson

1.1 使用gson读取解析json配置文件


使用gson需要导入包。使用gson读取解析json比较简单。

基本步骤:

  1. 定义一个简单java 对象,该对象需要和json层次结构基本和json串基本符合。
class  Configuration{
int initDelay;
String type
ArrayList <Metrics > metricsList;
}
class Metrics{
.....
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  1. 从文件或其他地方获取json字符串(存入到String dataString变量中),解析:
gson gson=new Gson();
Configuration config=(dataString,);
  • 1
  • 2

1.2 Jackson将Java对象转成json字符串

直接使用jackson将java类序列化成字符串

 ObjectMapper mapper = new ObjectMapper();
 String json = (config);
  • 1
  • 2

常用注解:

注解名 作用
@JsonIgnore 此注解用于属性上,作用是进行JSON操作时忽略该属性。
@JsonFormat 此注解用于属性上,作用是把Date类型直接转化为想要的格式,如@JsonFormat(pattern = “yyyy-MM-dd HH-mm-ss”)。
@JsonProperty 默认情况下映射的JSON属性与注解的属性名称相同。此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(“name”)。

2.解析properties文件

直接使用java的Properties类来处理
基本处理代码:

String fileName=""
Properties prop =new Properties();
try( InputStream stream =new BufferedInputStream(new FileInputStream(fileName ){
  (stream);
}catch(Exception e){
  return false;
}
Iterator<String> it=().iterator();
while(()){
    //处理每个key
    ....
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13