FastJson 的使用

来源:互联网 发布:windows装mac虚拟机 编辑:程序博客网 时间:2024/06/05 15:47

FastJson 的使用


FastJSOn是阿里巴巴开源的JSON处理工具,包括“序列化”和“反序列化”两部分,它具备如下特征:

  1. 速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parser。包括自称最快的jackson。
  2. 功能强大,完全支持java bean、集合、Map、日期、Enum,支持范型,支持自省。
  3. 无依赖,能够直接运行在Java SE 5.0以上版本
  4. 支持Android。
  5. 开源 (Apache 2.0)

既然速度快,当然要体验一下。更何况是国产货,当然要支持了。测试一下,以后在项目里使用...

要使用 JSON.  要引入fastjson 包

看代码:

package com.json.fastjson;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;import com.json.bean.Person;/* *  利用 fastjson 进行转换和解析数据 */public class FastjsonClass {public static void main(String[] args) {//method1();//method2();//method3();method4();    //method5();    //method6();    method7();}static void method1(){System.out.println("将json字符串转化成JavaBean对象");Person person = new Person("1","fastjson",1);//将javaBean 对象String jsonString = JSON.toJSONString(person);System.out.println(jsonString);//将json字符串转化成JavaBean对象person =JSON.parseObject(jsonString,Person.class);System.out.println(person.toString());System.out.println("将json字符串转化成JavaBean对象");}static void method2(){System.out.println("将json字符串转化成List<JavaBean>对象");Person person1 = new Person("1","fastjson1",1);Person person2 = new Person("2","fastjson2",2);List<Person> persons = new ArrayList<Person>();persons.add(person1);persons.add(person2);String jsonString = JSON.toJSONString(persons);System.out.println("将json字符串转化成List<JavaBean>对象"+jsonString);//进行json解析List<Person> persons2 = JSON.parseArray(jsonString,Person.class);System.out.println("person1解析后的值:"+persons2.get(0).toString());System.out.println("person2解析后的值:"+persons2.get(1).toString());System.out.println("将json字符串转化成List<JavaBean>对象完成");}static void method3(){System.out.println("将json字符串转化成List<String>对象");List<String> list = new ArrayList<String>();list.add("fastjson1");list.add("fastjson2");list.add("fastjson3");String jsonString = JSON.toJSONString(list);System.out.println("json转换后:"+jsonString);//解析jsonList<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){}); System.out.println(list2.get(0)+"::"+list2.get(1)+"::"+list2.get(2));System.out.println("将json字符串转化成List<String>对象成功");}static void method4(){System.out.println("将json字符串转化成List<Map<String,Object>>对象");Map<String,Object> map = new HashMap<String,Object>();map.put("key1", "value1");map.put("key2", "value2");Map<String,Object> map2 = new HashMap<String,Object>();map2.put("key1", 1);map2.put("key2", 2);List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();list.add(map);list.add(map2);String jsonString = JSON.toJSONString(list);System.out.println("json转化后:"+jsonString);//解析json数据List<Map<String,Object>> list2 = JSON.parseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){});System.out.println("List<Map>解析后: "+list2);System.out.println("map的key1值:ֵ"+list2.get(0).get("key1"));System.out.println("map的key2值:"+list2.get(0).get("key2"));System.out.println("map2的key1值:ֵ"+list2.get(1).get("key1"));System.out.println("map2的key2值:ֵ"+list2.get(1).get("key2"));}static void method5(){        System.out.println("将json字符串转化成map(string,List<JavaBean>)对象");                Person person1 = new Person("1","fastjson1",1);        Person person2 = new Person("2","fastjson2",2);        List<Person> persons = new ArrayList<Person>();        persons.add(person1);        persons.add(person2);        String jsonString = JSON.toJSONString(persons);        System.out.println("map(string,List<JavaBean>):"+jsonString);                Map<String,String> map = new HashMap<String, String>();         map.put("key1", jsonString);                String json = JSON.toJSONString(map,true);         System.out.println(json);         for (String key : map.keySet()) {             //System.out.println(key+":"+map.get(key));           //进行json解析            List<Person> persons2 = JSON.parseArray(map.get(key),Person.class);            System.out.println("person1解析后的值:"+persons2.get(0).toString());            System.out.println("person2解析后的值:"+persons2.get(1).toString());        }             }static void method6(){    Map<String,String> map = new HashMap<String, String>();         map.put("a",new String("hhh"));         map.put("b",new String("aaa"));         map.put("c",new String("ggg"));         String json = JSON.toJSONString(map,true);         System.out.println(json);         //JSON -> Map         Map<String,String> map1 = (Map<String,String>)JSON.parse(json);         for (String key : map1.keySet()) {                 System.out.println(key+":"+map1.get(key));         } }static void method7(){        System.out.println("将json字符串转化成Map<string,List<Map<string, string>>对象");                Map<String,String> map = new HashMap<String, String>();         map.put("key1", "aaa");        map.put("key2", "bbb");        map.put("key3", "ccc");        /*Person person1 = new Person("1","fastjson1",1);        Person person2 = new Person("2","fastjson2",2);*/                //String json = JSON.toJSONString(map,true);         Map<String,String> mapk = new HashMap<String, String>();         mapk.put("key1", "a1a");        mapk.put("key2", "b2b");        mapk.put("key3", "c3c");        /*Person person1 = new Person("1","fastjson1",1);        Person person2 = new Person("2","fastjson2",2);*/                //String json1 = JSON.toJSONString(mapk,true);         List<Map<String, String>> persons = new ArrayList<Map<String, String>>();        persons.add(map);        persons.add(mapk);                String jsonString = JSON.toJSONString(persons);        System.out.println("List<Map>:"+jsonString);                Map<String,String> map1 = new HashMap<String, String>();         map1.put("table1",jsonString);        map1.put("table2", jsonString);        String jsonString1 = JSON.toJSONString(map1);                System.out.println("map<List<Map>>:"+jsonString1);        Map<String,String> map2 = (Map<String,String>)JSON.parse(jsonString1);         for (String key : map2.keySet()) {             //System.out.println(key+":"+map.get(key));             //进行json解析            String listparse = map2.get(key);            System.out.println("List<Map>:"+listparse);            List<Map<String, Object>> list2 = JSON.parseObject(listparse,new TypeReference<List<Map<String,Object>>>(){});             System.out.println("List<Map>转换后:"+list2);            for(int i = 0; i < list2.size(); i++){                //System.out.println("map的key1值:ֵ"+list2.get(i).get("key1"));                               for(String key1:list2.get(i).keySet()){                    System.out.println(key1+":"+list2.get(i).get(key1));                }                            }                   }             }}



代码:

package com.json.bean;public class Person {private String id ;private String name;private int age ;public Person(){}public Person(String id,String name,int age){this.id=id;this.name=name;this.age=age;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {    return "解析json字符串后获取的person对象:id的值是" + id + ", name的值是" + name + ", age的值是" + age + "";}}


public static void method9(){    Map<String, List<TreeMap<String, Object>>> dataMap = new HashMap<String, List<TreeMap<String, Object>>>();        // 表1        dataMap.put("table1", getDataList(1));        // 表2        dataMap.put("table2", getDataList(2));                String jsonString = JSON.toJSONString(dataMap);        System.out.println(jsonString);                //JSONObject jsonObject = JSON.parseObject(jsonString);        @SuppressWarnings("unchecked")        Map<String, List<TreeMap<String, Object>>> parse = (Map<String, List<TreeMap<String, Object>>>) JSON.parse(jsonString);        Map<String, List<TreeMap<String, Object>>> a =  parse;        for(String key: a.keySet()){            System.out.println(key);            List<TreeMap<String, Object>>  as = a.get(key);            System.out.println(as.get(0));        }      /*  for (String table : jsonObject.keySet()) {            System.out.println("表名:" + table);            JSONArray jsonArray = jsonObject.getJSONArray(table);            for (int i = 0; i < jsonArray.size(); i++) {                JSONObject keyValue = jsonArray.getJSONObject(i);                for (String key : keyValue.keySet()) {                    System.out.println("字段:" + key + keyValue.get(key));                }            }        }*/}  private static List<TreeMap<String, Object>> getDataList(int index) {        List<TreeMap<String, Object>> dataList = new ArrayList<TreeMap<String,Object>>();        TreeMap<String, Object> keyValue = new TreeMap<String, Object>();                keyValue.put("index", Integer.toString(index));        keyValue.put("status", new Integer(index));                dataList.add(keyValue);                return dataList;    }



0 0
原创粉丝点击