Nutz.json转为json字符串

输出目标:字符串、file、write

格式控制:

   JsonFormat,即运行时配置

    注解配置,永久的

如果对象不大,直接转json字符串

Json.toJson(person);

输出内容为:

{
   "id" :2020,
   "name" :"周益涛",
   "age" :18,
   "sal" :7000.0
}

Map、List转换为json字符串

       Map<String,Object> map=new HashMap();
        map.put("name", "lizhou");
        map.put("age", 22);
        map.put("sal", 6500.0);
        System.out.println(Json.toJson(map));

        List<String> list=new ArrayList<String>();
        list.add("语文");
        list.add("数学");
        list.add("政治");
        System.out.println(Json.toJson(list));

输出格式为:

{
   "name" :"lizhou",
   "age" :22,
   "sal" :6500.0
}
["语文", "数学", "政治"]

对象过大时,输出到writer(不然耗太多内存了)(没有试过)  或直接输出到文件去

Json.toJson(writer, pet);
Json.toJsonFile(new File("d:/person.json"),person);

JsonFormat格式控制

Json.toJson系列方法,除了输出目标,就是JsonFormat了, 但注意一下,JsonFormat不会影响Json注解中的配置哦

JsonFormat提供了几种快捷配置(静态方法,但可以继续链式设置)

Json.toJson(person, JsonFormat.compact()); // 紧凑模式 -- 无换行,忽略null值
Json.toJson(person, JsonFormat.full());    // 全部输出模式 -- 换行,不忽略null值
Json.toJson(person, JsonFormat.nice());    // 一般模式 -- 换行,但忽略null值
Json.toJson(person, JsonFormat.forLook()); // 为了打印出来容易看,把名字去掉引号
12-17 08:36
查看更多