• fastjson 进行json转实体类对象及一些常用操作


    首先引入相关jar包,

    假设有一个实体类User

    public class User{
      private int id;
      private String name;   
    }
    

    然后通过fastJson进行类型转换

    public static void main(String[] args){
        String userString = "{"id":1,"name","lz"}";
        JSONObject userJson = JSONObject.parseObject(userString);
       User user = JSON.toJavaObject(userJson,User.class);
        
    }
    

    假设数据格式如下:

    list 数据格式如下:
                {
                    "roleid":23,
                    "username":"admin",
                    "data":[
                        {"autoid":1,"p1":true,"p2":false,"p3":true,......,"p80":false},
                        {"autoid":2,"p1":true,"p2":false,"p3":true,......,"p80":false},
                         .........
                    ]
                }
    

    那么取数代码如下:

            String jsonstr = JSON.toJSONString(list);
            JSONObject jobj = JSONObject.parseObject(jsonstr);
            String autoid = jobj.getString("autoid");       //获取 autoid 变量
            String username = jobj.getString("username");    //获取 username 变量
            JSONArray jary = jobj.getJSONArray("data");     //获取 data 数组
    
            if(jary!=null){
                if(jary.size()>0){
                    for(int i=0;i<jary.size();i++){ //遍历 data 数据
                        JSONObject jo = jary.getJSONObject(i);
                        TempRolePri  trp = JSON.toJavaObject(jo,TempRolePri.class);
                        trp.save();
                    }
                }
            }
    

    json数组转List<Map<String,Object>>,如有以下的json格式:

         [
                        {"autoid":1,"canchange":true},
                        {"autoid":2,"canchange":true},
                         ..........
         ]
    

     需要把它转为一个List队列,代码如下:

            String jsonstr = JSON.toJSONString(list);
            List<Map<String,Object>> lsmap = JSONArray.parseObject(jsonstr,List.class);
    
            for(Map<String,Object> map:lsmap){
                String autoid = map.get("autoid").toString();
                boolean canchange = Boolean.parseBoolean(map.get("canchange").toString());
                。。。。。。。。。
            }
    

      

     

  • 相关阅读:
    A* Pathfinding for Beginners
    OpenGL Draw Mesh
    CentOS6.5下安装、配置SSH
    Ubuntu18.04下搭建LAMP环境
    滚动合集
    关闭页面触发事件
    在table中tr的display:block在firefox下显示布局错乱问题
    sharepoint添加模板及删除模板
    常用正则表达式
    javascript对象的property和prototype是这样一种关系
  • 原文地址:https://www.cnblogs.com/lpq21314/p/13304421.html
Copyright © 2020-2023  润新知