常用的Json转换工具

1.fastjson

maven:

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.41</version>
</dependency>

User对象:

public class User {
    private Long id;
    private String name;
    //...
}

Group对象:

public class Group {
    private Long id;
    private String name;
    private List<User> users = new ArrayList<User>();
    //...
}

测试:

public class fastjson {
    public static void main(String[] args) {
        Group group = new Group();
        group.setId(0L);
        group.setName("admin");

        User guestUser = new User();
        guestUser.setId(2L);
        guestUser.setName("guest");

        User rootUser = new User();
        rootUser.setId(3L);
        rootUser.setName("root");

        group.getUsers().add(guestUser);
        group.getUsers().add(rootUser);

        String fastJson=JSON.toJSONString(group);
        System.out.println(fastJson);

        //Decode
        Group group1 = JSON.parseObject(fastJson,Group.class);
        System.out.println(group1.toString());
    }
}

结果:

{“id”:0,”name”:”admin”,”users”:[{“id”:2,”name”:”guest”},{“id”:3,”name”:”root”}]}
Group [id=0, name=admin, users=[User [id=2, name=guest], User [id=3, name=root]]]


2.jackson

maven:

    <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.2</version>
    </dependency>

对象同上User。

测试:

public class jackson {

    public static void main(String[] args) throws Exception {
        User user=new User(1, "dsd");
        ObjectMapper mapper=new ObjectMapper();
        String json = mapper.writeValueAsString(user);
            System.out.println(json);
        User user2 = mapper.readValue(json, User.class);
        System.out.println(user2.toString());
    }
}

结果:

{“id”:1,”username”:”dsd”}
User [id=1, username=dsd]

3.json-lib

maven:

<dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
</dependency>

测试:

public class json {
    public static void main(String[] args) {
        System.out.println("java代码封装为json字符串");
        //创建JsonObject第一种方法  
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("username", "张三");
        jsonObj.put("password", "");
        jsonObj.element("element", "element");
        //创建JsonObject第二种方法  
        HashMap map=new HashMap();
        map.put("username", "张三");
        map.put("password", "pwd");
        JSONObject jsonObj2 = JSONObject.fromObject(map);
        System.out.println("java--->json \n" + jsonObj2.toString());
        //直接对象转化
        User user=new User();
        user.setId(11);
        user.setUsername("linqin");

        JSONObject jsonObject3 = JSONObject.fromObject(user);
        System.out.println(jsonObject3);
        //toBean
        User bean = (User) JSONObject.toBean(jsonObject3, jackson.User.class);
        System.out.println(bean.toString());

    }
}

结果:

java代码封装为json字符串
java—>json
{“username”:”张三”,”password”:”pwd”}
{“id”:11,”username”:”linqin”}
User [id=11, username=linqin]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值