fastjson简单的应用

1前言: fastjson作为阿里巴巴的开源框架,速度真快,真好用,但是在json,字符串,javaBean之间进行互相转换的时候经常很迷,不知道你们怎么样,反正我这样,这次简单梳理一下

2开干

  • 先模拟一下数据
  Model model = new Model();
        model.setName("李园松");
        model.setPassword("0987");
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        model.setList(list);
        model.setNoName(new NoName("秦威",666));
        System.out.println("model = " + model);
        //model = Model(name=李园松, password=0987, list=[1, 2], noName=NoName(img=秦威, num=666))

2.1 javaBean转字符串,json

  • javabean转字符串
 String str = JSONObject.toJSONString(model);
        System.out.println("str = " + str);
        //str = {"list":[1,2],"name":"李园松","noName":{"img":"秦威","num":666},"password":"0987"}
  • javabean转json
JSONObject o1 = (JSONObject)JSONObject.toJSON(model);
        System.out.println("o1 = " + o1);
        //o1 = {"password":"0987","name":"李园松","noName":{"img":"秦威","num":666},"list":[1,2]}

2.2 字符串转javaBean,json

  • 字符串转Javabean
 Model o = JSONObject.parseObject(str, Model.class);
        System.out.println("o = " + o);
        //o = Model(name=李园松, password=0987, list=[1, 2], noName=NoName(img=秦威, num=666))
  • 字符串转json
  JSONObject jsonObject = JSONObject.parseObject(str);
        System.out.println("jsonObject = " + jsonObject);
        //jsonObject = {"password":"0987","name":"李园松","noName":{"img":"秦威","num":666},"list":[1,2]}

2.3 json转javaBean,字符串

  • json转javaBean
 Model model1 = JSONObject.toJavaObject(jsonObject, Model.class);
        System.out.println("model1 = " + model1);
        //model1 = Model(name=李园松, password=0987, list=[1, 2], noName=NoName(img=秦威, num=666))
  • json转字符串
String s = JSONObject.toJSONString(jsonObject);
        System.out.println("s = " + s);
        //s = {"password":"0987","name":"李园松","noName":{"img":"秦威","num":666},"list":[1,2]}

        //或者

        String s1 = JSONObject.toJavaObject(jsonObject, String.class);
        System.out.println("s1 = " + s1);
        //s1 = {"password":"0987","name":"李园松","noName":{"img":"秦威","num":666},"list":[1,2]}

3 其他

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
fastJson是一款高性能的JSON解析库,而Nutz.Mapl是Nutz框架中的一个对象映射工具。它们的结合可以实现更加高效的JSON解析和对象映射操作。 下面是一个简单的示例,演示了如何将JSON字符串转换成Java对象,并使用Nutz.Mapl进行对象映射: ```java import com.alibaba.fastjson.JSON; import org.nutz.mapl.Mapl; public class FastJsonNutzMaplDemo { public static void main(String[] args) { String jsonString = "{\"name\":\"张三\",\"age\":20,\"address\":{\"province\":\"广东\",\"city\":\"深圳\"}}"; Object obj = JSON.parse(jsonString); Object mappedObj = Mapl.maplistToObj(obj, Person.class); System.out.println(mappedObj); } } class Person { private String name; private int age; private Address address; // 省略 getter 和 setter 方法 } class Address { private String province; private String city; // 省略 getter 和 setter 方法 } ``` 在上面的示例中,首先使用fastJsonJSON字符串转换成了一个Object对象。然后,使用Nutz.Mapl将该对象映射成了一个Person对象,并输出到控制台。 需要注意的是,Nutz.Mapl需要根据Java类的属性名来匹配JSON中的属性名。因此,Java类的属性名需要和JSON中的属性名保持一致。如果不一致,可以使用@Name注解来指定映射关系。 除了基本的对象映射,Nutz.Mapl还支持一些高级特性,比如自动类型转换、集合映射等。感兴趣的读者可以查阅Nutz.Mapl的文档了解更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值