java web-12.3JSON解析器

JSON数据和java对象的相互转换

java web-12.3JSON解析器_第1张图片
0.JSON解析器
常见的解析器:Jsonlib,Gson,fastjson,jackson

1.JSON转为java对象
(1)使用步骤:
a.导入jackson的相关jar包
b.创建jackson核心对象,ObjectMapper
c.调用ObjectMapper的相关方法进行转换

1.readValue(json字符串数据,Class)

java web-12.3JSON解析器_第2张图片
2.java对象转换JSON
(1)使用步骤:
a.导入jackson的相关jar包
b.创建jackson核心对象,ObjectMapper
c.调用ObjectMapper的相关方法进行转换

转换方法:
 1.writeValue(参数1,obj)
 参数1:
File:将obj对象转换为json字符串,并保存到指定的文件中
Writer:将obj对象转换为json字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为Json字符串,并将json数据填充到字节输出流中
2.writeValueAsString(obj):将对象转为json字符串

示例

//java对象转为json字符串
    @Test
    public void test1() throws IOException {
        //1、创建person对象
        Person p = new Person();
        p.setName("张三");
        p.setAge(23);
        p.setGender("男");
        //创建jackson的核心对象,ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        //3.转换
        String json = mapper.writeValueAsString(p);
        System.out.println(json);
        //将数据写到d盘文件中
        //mapper.writeValue(new File("D://a.txt"),p);
        //将数据关联到writer中
        mapper.writeValue(new FileWriter("d://b/.txt"),p);
    }

(2)细节:
1.@JsonIgnore:排除属性在这里插入图片描述
java web-12.3JSON解析器_第3张图片
2.@JsonFormat:属性值的格式化
在这里插入图片描述
java web-12.3JSON解析器_第4张图片
(3)复杂java对象转换
1.List:数组
java web-12.3JSON解析器_第5张图片
2.Map:与对象格式一致
java web-12.3JSON解析器_第6张图片
案例
需求:校验用户名是否存在
java web-12.3JSON解析器_第7张图片
注意:
1.服务器响应的数据,在客户端 使用时,要想当做json数据格式使用
(1)$.get(type):将最后一个参数type指定为json
(2)在服务器端设置MIME类型

response.setContentType("application/json;charset=utf-8");

你可能感兴趣的:(Javaweb)