fastjson的常用使用方法

来源:互联网 发布:c专家编程第二版 编辑:程序博客网 时间:2024/05/21 09:52

本文是利用阿里巴巴封装的FastJSON来转换json字符串的(导入jar包)。例子如下:

[java] view plain copy
 在CODE上查看代码片派生到我的代码片  
  1. package Demo;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Vector;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature;import entity.Userinfo;/** * fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点: * 1.快速FAST(比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean * 2.Class、Collection、Map、Date或enum) 零依赖(没有依赖其它任何类库除了JDK) *  */public class TestFastJson {  public static void main(String[] args) {    String json = "{\"name\":\"chenggang\",\"age\":24}";    String arrayAyy = "[[\'马云',50],null,[\'马化腾',30]]";//    Entity2json("zhangsan", 24);//    list2Json();    Complexdata();//    Deserialization(json);//    DateFormate(new Date());//    Json2Eetity(json);//    String2JSONArray(arrayAyy);  }  // 实体转为Json  public static void Entity2json(String name, int age) {    Userinfo info = new Userinfo(name, age);    String str_json = JSON.toJSONString(info); //    System.out.println("实体转化为Json" + str_json);  }  // list转Json  public static void list2Json() {    List<Userinfo> list = new ArrayList<Userinfo>();    Userinfo userinfo1 = new Userinfo("lisi", 15);    Userinfo userinfo2 = new Userinfo("wangwu", 16);    list.add(userinfo1);    list.add(userinfo2);    String json = JSON.toJSONString(list, true);    System.out.println("List集合转json格式字符串 :" + json);  }  // 字符数组转化为JSon  private static void String2JSONArray(String arrayAyy) {    JSONArray array = JSONArray.parseArray(arrayAyy);    System.out.println("数组:" + array);    System.out.println("数组长度: " + array.size());    Collection nuCon = new Vector();    nuCon.add(null);    array.removeAll(nuCon);    System.out.println("数组:" + array);    System.out.println("数组长度: " + array.size());  }  // 复杂数据类型  public static void Complexdata() {    HashMap<String, Object> map = new HashMap<String, Object>();    map.put("username", "zhangsan");    map.put("age", 24);    map.put("sex", "男");    // map集合    HashMap<String, Object> temp = new HashMap<String, Object>();    temp.put("name", "xiaohong");    temp.put("age", "23");    map.put("girlInfo", temp);    // list集合    List<String> list = new ArrayList<String>();    list.add("爬山");    list.add("骑车");    list.add("旅游");    map.put("hobby", list);    String jsonString = JSON.toJSONString(map);    System.out.println("复杂数据类型:" + jsonString);  }  public static void Deserialization(String json) {    Userinfo userInfo = JSON.parseObject(json, Userinfo.class);    System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"        + userInfo.getAge());  }  // 格式话日期  public static void DateFormate(Date date) {    System.out.println("输出毫秒值:" + JSON.toJSONString(date));    System.out.println("默认格式为:"        + JSON.toJSONString(date,            SerializerFeature.WriteDateUseDateFormat));    System.out.println("自定义日期:"        + JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd",            SerializerFeature.WriteDateUseDateFormat));  }  // Json转为实体  private static void Json2Eetity(String json) {    Userinfo userInfo = JSON.parseObject(json, Userinfo.class);    System.out.println("输出对象的地址:" + userInfo.toString());    System.out.println("输出对象的名字:" + userInfo.getName());  }}

    以上Demo所用到的实体类:

    package entity;public class Userinfo {  private static final long serialVersionUID = 1L;  private String name;  private int age;    public Userinfo() {    super();  }  public Userinfo(String name, int age) {    super();    this.name = name;    this.age = age;  }  public void setName(String name) {    this.name = name;  }  public String getName() {    return name;  }  public void setAge(int age) {    this.age = age;  }  public int getAge() {    return age;  }}

0 0
原创粉丝点击