使用Alibaba FastJson进行对象转json,json转对象,集合转json,json转集合

 今天看到使用Alibaba FastJson进行转换数据,整理的挺好的

package com.jake.mallcrud;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jake.mallcrud.service.UserService;
import com.jake.mallmodel.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RunWith(SpringRunner.class)
@SpringBootTest
public class JsonTests {

    @Autowired
    private UserService userService;

    /**
     * POJO对象转Json
     */
    @Test
    public void obj2Json() {
        User user = userService.findUserById(1);
        System.out.println("toString---" + user.toString());
        System.out.println("JSON.toJSONString---" + JSON.toJSONString(user));
        System.out.println("JSONObject.toJSONString---" + JSONObject.toJSONString(user));
    }

    /**
     * Json转POJO对象
     */
    @Test
    public void json2Obj() {
        User user = userService.findUserById(1);
        String userStr = JSON.toJSONString(user);
        System.out.println("JSON.parseObject---" + JSON.parseObject(userStr, User.class));
        System.out.println("JSONObject.parseObject---" + JSONObject.parseObject(userStr, User.class));
    }


    /**
     * POJO对象集合转Json
     */
    @Test
    public void list2Json() {
        List<User> users = userService.findAllUsers();
        System.out.println("toString---" + users.toString());
        System.out.println("JSON.toJSONString---" + JSON.toJSONString(users));
        System.out.println("JSONObject.toJSONString---" + JSONObject.toJSONString(users));
    }

    /**
     * Json转POJO对象集合
     */
    @Test
    public void json2List() {
        List<User> users = userService.findAllUsers();
        String usersStr = JSON.toJSONString(users);
        System.out.println("JSON.parseObject---" + JSON.parseObject(usersStr, List.class));
        System.out.println("JSONObject.parseObject---" + JSONObject.parseObject(usersStr, List.class));
    }

    /**
     * Map转Json
     */
    @Test
    public void map2Json() {
        Map<String, Object> map = getMap();
        System.out.println("JSON.toJSONString" + JSON.toJSONString(map));
        System.out.println("JSONObject.toJSONString" + JSONObject.toJSONString(map));
    }

    /**
     * Json转Map
     */
    @Test
    public void json2Map() {
        String mapStr = JSON.toJSONString(getMap());
        System.out.println("JSON.parseObject---" + JSON.parseObject(mapStr, Map.class));
        System.out.println("JSONObject.parseObject---" + JSONObject.parseObject(mapStr, Map.class));

    }

    private Map<String, Object> getMap() {
        Map<String, Object> map = new HashMap<>();
        map.put("string", "Hello World!");
        map.put("int", 1);
        map.put("list", userService.findAllUsers());
        return map;
    }

}

 

### 回答1: fastjson可以将List对象换为JSON格式的字符串。 示例代码: ``` import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("orange"); String json = JSON.toJSONString(list); System.out.println(json); } } ``` 输出结果: ``` ["apple","banana","orange"] ``` 其中,`JSON.toJSONString()`方法可以将Java对象换为JSON格式的字符串。在这个例子中,我们将List对象换为JSON格式的字符串。 ### 回答2: Fastjson是一个高性能的Java基于JSON的解析器和生成器。其中,fastjson list对象jsonfastjson中的一个重要功能。 首先,fastjson可以将Java中的List对象换为JSON格式的字符串,也可以将JSON格式的字符串换为Java中的List对象。这种换是非常方便和高效的。在进行fastjson list对象json时,需要进行以下步骤: 1. 首先,需要创建一个List对象,将需要换为JSON的元素添加到List中。例如,创建一个List对象list,并向里面添加两个元素“java”和“python”。 List<String> list = new ArrayList<String>(); list.add("java"); list.add("python"); 2. 然后,可以使用fastjsonJSON类将List对象换为JSON格式的字符串。 String jsonString = JSON.toJSONString(list); 3. 换完成后,可以将JSON格式的字符串输出到控制台或文件中。 System.out.println(jsonString); 4. 在进行fastjson list对象换时,还可以设置序列化属性。例如,可以设置序列化null值和未知对象为false。 JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.DisableCircularReferenceDetect.getMask()|SerializerFeature.WriteMapNullValue.getMask()|SerializerFeature.WriteNullListAsEmpty.getMask()|SerializerFeature.WriteNullStringAsEmpty.getMask()|SerializerFeature.WriteNullBooleanAsFalse.getMask(); 5. 还可以自定义换器,扩展fastjson换能力。例如,可以自定义换器将Java中的Date对象换为JSON格式的日期字符串。 JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteDateUseDateFormat); 总之,fastjson list对象json是非常简单和高效的。通过fastjson,可以轻松地将Java中的List对象换为JSON格式的字符串,以及反向换。在进行换时,可以设置序列化属性和自定义换器,使换更加灵活和精细。 ### 回答3: FastjsonJava中一个高效的JSON处理库,可以方便地将Java对象换为JSON对象,也可以将JSON对象换为Java对象。在实际应用中,常常需要将List对象换为JSON格式,Fastjson提供了非常简单的API实现这个功能。 代码示例: ``` import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.List; public class TestList2Json { public static void main(String[] args) { List<User> userList = new ArrayList<>(); userList.add(new User(1, "张三", 20)); userList.add(new User(2, "李四", 18)); userList.add(new User(3, "王五", 21)); String jsonStr = JSON.toJSONString(userList); System.out.println("listjson:" + jsonStr); } } class User { private Integer id; private String name; private Integer age; //省略 getter/setter public User(Integer id, String name, Integer age) { this.id = id; this.name = name; this.age = age; } } ``` 上述代码中,我们首先创建了一个List对象userList,里面存放了三个User对象,然后通过Fastjson提供的静态方法JSON.toJSONString()将userList换为JSON字符串。最终输出结果为: ``` listjson:[{"age":20,"id":1,"name":"张三"},{"age":18,"id":2,"name":"李四"},{"age":21,"id":3,"name":"王五"}] ``` 从输出结果可以看出,Fastjson将List对象换为JSON格式的数组,每个元素都被换为一个JSON对象。在实际应用中,我们还可以通过Fastjson提供的其他API来对JSON字符串进行解析等操作,从而轻松实现Java对象JSON对象之间的相互换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值