浅谈fastjson的常用使用方法

所属分类: 软件编程 / java 阅读数: 44
收藏 0 赞 0 分享

如下所示:

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的常用使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

JavaWeb项目部署到服务器详细步骤详解

这篇文章主要介绍了JavaWeb项目如何部署到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA基于支付宝小程序搭建springboot项目的详细步骤

这篇文章主要介绍了IDEA基于支付宝小程序搭建springboot项目的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解SpringBoot应用服务启动与安全终止

这篇文章主要介绍了SpringBoot应用服务启动与安全终止,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Boot启动及退出加载项的方法

这篇文章主要介绍了Spring Boot启动及退出加载项的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Data Jpa 自动生成表结构的方法示例

这篇文章主要介绍了Spring Data Jpa 自动生成表结构的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA中osgi的开发应用指南详解

这篇文章主要介绍了IDEA中osgi的开发应用指南详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解用maven将dubbo工程打成jar包运行

这篇文章主要介绍了详解用maven将dubbo工程打成jar包运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解Java合并数组的两种实现方式

这篇文章主要介绍了Java合并数组的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

使用Jenkins Pipeline自动化构建发布Java项目的方法

这篇文章主要介绍了使用Jenkins Pipeline自动化构建发布Java项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用Maven配置Spring的方法步骤

这篇文章主要介绍了使用Maven配置Spring的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多