NutzCN Logo
问答 NutMap结合nutz的Json,怎么快速获取到json中特定的值
发布于 1618天前 作者 码农 1421 次浏览 复制 上一个帖子 下一个帖子
标签:

使用nutz自带的Json将json转换成NutMap对象后,怎么快速的获取到特定的值,如,获取data->Spot->spotcode的值

{
  "success": true,
  "message": "查询成功",
  "data": {
    "uuid": "B6807507-166E-4B7F-97BA-8A72B16097B5",
    "name": "测试",
    "isadmin": "0",
    "Spot": [
      {
        "spotcode": "www",
        "spotname": "测试",
        "maxHeat": "1200",
        "maxtotal": "300000",
        "maxrealtime": "60000",
        
      }
    ]
  }
}
10 回复

有个eval方法

@wendal 来个demo?试了一下,没整明白

        NutMap map = Json.fromJson(NutMap.class, "{data:{pager:{pagerSize:20},users:[{id:123,name:'wendal'}, {id:345}]}}");
        System.out.println(map.eval("data.pager.pagerSize"));
        System.out.println(map.eval("data.users[0].name"));
        System.out.println(map.eval("data.users[1].id"));

输出: 20, wendal, 345

如果没有USERS 或USERS 为空
能不能不抛出异常的办法?

组装代码时防御性代码太多了。

System.out.println(map.eval("!!(data.users[2].id)")); // 这样得到null
添加回复
请先登陆
回到顶部