Jso对象转化Java对象_Nutz.Json 转为Java对象

Json字符串转Java对象, 分成几种情况

从目标对象的类型看:

无Pojo类对应

Json.fromJson(source/*来源参数*/)

有Pojo类对应

Json.fromJson(Class klass, source/*来源参数*/)

Json.fromJson(Type t, source/*来源参数*/)

Pojo集合或Map嵌套

Json.fromJsonAsArray(Class klass, source/*来源参数*/)

Json.fromJsonAsList(Class klass, source/*来源参数*/)

Json.fromJsonAsMap(Class klass, source/*来源参数*/)

从来源看,一般无难度吧

字符串

Json.fromJson(CharSequence c)

Json.fromJson(Class klass, CharSequence c)

Reader

Json.fromJson(Reader c)

Json.fromJson(Class klass, Reader reader)

File

Json.fromJsonFile(Class klass, File f)

无Pojo类对应

这算是最原始的方法了

Object obj = Json.fromJson(str);

obj的实际类型可能是 Map,List,基本数据类型的封装类型, String

有Pojo类对应(简单)

最常用的方法,也是入门级的方法

Pet pet = Json.fromJson(Pet.class, str); pet = Json.fromJson(Pet.class, reader); pet = Json.fromJsonFile(Pet.class, new File("pet.json"));

有Pojo类对应(复杂自定义)

fromJson方法中最复杂最灵活的方法群

String str = "[{dongdong:{age:80}}]"; List> list = (List>)Json.fromJson(NutType.list(NutType.mapStr(Pet.class)), str/*其他源也可以*/); assertEquals(80, list.get(0).get("dongdong").getAge());// Junit断言一下,肯定是80啦

Pojo集合或Map嵌套

这群方法事实上就是 有Pojo类对应(复杂自定义) 中的简写形式

String str = "{dongdong:{age:80}}"; Map pets = MapJson.fromJsonAsMap(Pet.class, str/*其他源也可以*/); assertEquals(80, pets.get("dongdong").getAge());// Junit断言一下,肯定是80啦

一通百通,哈哈,仔细琢磨一下吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值