《Java知识应用》Java Json说明和使用(fastjson)

工具包下载:链接: https://pan.baidu.com/s/1dn5uNwiJ1ICkbPknlMmkHQ 提取码: ayzn 复制这段内容后打开百度网盘手机App,操作更方便哦

1.JSON介绍

JSON(javaScript Object Notation)是一种轻量级的数据交换格式。主要采用键值对({"name": "json"})的方式来保存和表示数据。JSONJS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质上是一个字符串。

2.FastJson简介

fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

3.fastjson的优点

(1)速度快:fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。

(2)使用广泛:fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一。

(3)测试完备

(4)功能完备:支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。

4. JSON 常用方法:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;

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

public class JsonDemo {
    public static void main(String[] args) {
        mapToJson();
        mapListToJson();
        objectToJson();
        objectListToJson();
        jsonToObject();
        jsonToMap();
        jsonToList();
    }

    /**
     * Map 转成 Json
     */
    public static void mapToJson() {
        Map<String, Object> map = new HashMap<>();
        map.put("key1", "One");
        map.put("key2", "Two");

        String mapJson = JSON.toJSONString(map);
        System.out.println("mapJson:" + mapJson);
    }

    /**
     * MapList 转成 Json
     */
    public static void mapListToJson() {
        List<Map<String, Object>> list = new ArrayList<>();

        Map<String, Object> map1 = new HashMap<>();
        map1.put("key1", "One");
        map1.put("key2", "Two");

        Map<String, Object> map2 = new HashMap<>();
        map2.put("key1", "Three");
        map2.put("key2", "Four");

        list.add(map1);
        list.add(map2);

        String listJson = JSON.toJSONString(list);
        System.out.println("listJson:" + listJson);
    }

    /**
     * Object 转成 Json
     */
    public static void objectToJson() {
        User user = new User();
        user.setUserName("李四");
        user.setAge(24);

        String userJson = JSON.toJSONString(user);
        System.out.println("userJson:"+userJson);
    }

    /**
     * ObjectList 转成 Json
     */
    public static void objectListToJson() {
        List<User> list = new ArrayList<>();
        for (int i = 25; i < 27 ; i++) {
            User user = new User();
            user.setUserName("李四-"+i);
            user.setAge(i);
            list.add(user);
        }

        String userJson = JSON.toJSONString(list);
        System.out.println("userJson:"+userJson);
    }

    /**
     * Json 转成 Map
     */
    public static void jsonToMap() {
        String msgJson = "{\"age\":25,\"userName\":\"李四-25\"}";
        Map<String, Object> map = JSON.parseObject(msgJson, Map.class);
        System.out.println("map:"+map);
    }

    /**
     * Json 转成 Object
     */
    public static void jsonToObject() {
        String msgJson = "{\"age\":25,\"userName\":\"李四-25\"}";
        User user = JSON.parseObject(msgJson,User.class);
        System.out.println("user:"+user);
    }

    /**
     * Json 转成 ObjectList
     */
    public static void jsonToList() {
        String msgJson = "[{\"age\":25,\"userName\":\"李四-25\"},{\"age\":26,\"userName\":\"李四-26\"}]";
        JSONArray array = JSON.parseArray(msgJson);
        for (int i = 0; i < array.size(); i++){
            User user = array.getObject(i,User.class);
            System.out.println("user:"+user);
        }
    }
}

运行结果:

参考:https://www.cnblogs.com/luckyplj/p/10711195.html

           https://blog.csdn.net/drdongshiye/article/details/80720171

猜你喜欢

转载自www.cnblogs.com/jssj/p/11930396.html