当前位置: 移动技术网 > IT编程>开发语言>Java > 浅谈fastjson的常用使用方法

浅谈fastjson的常用使用方法

2019年07月22日  | 移动技术网IT编程  | 我要评论

如下所示:

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;
  }
}

以上这篇浅谈fastjson的常用使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网