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()); // 为了打印出来容易看,把名字去掉引号