浅谈fastjson的常用使用方法

如下所示:

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

(0)

相关推荐

  • fastjson生成json时Null属性不显示的解决方法

    举个例子 Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","wuzhuti.cn"); String str = JSO

  • 详谈fastjson将对象格式化成json时的两个问题

     1. 关于继承 类的继承结构为 class Base{ private int id; public Long getId() { return id; } public void setId(Long id) { this.id = id; } } class User extends Base{ private String name; public String getName() { return name; } public void setName(String name) { t

  • 浅谈fastjson的常用使用方法

    如下所示: 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; imp

  • 浅谈几种常用的JS类定义方法

    // 方法1 对象直接量 var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : function(v) { this.v1 = v; } }; // 方法2 定义函数对象 var Obj = function() { var v1 = ""; this.get_v1 = function() { return this.v1; }; this.set_v1 = function

  • 浅谈Java中常用数据结构的实现类 Collection和Map

    线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类. Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection接口 Collection是最基本的集合接口,一个C

  • 浅谈jquery中的each方法$.each、this.each、$.fn.each

    jquery.each 方法 方法一 $("img").each(function(i,elem){ // i 下标 从零开始, // elem == this // $(elem).toggleClass("example"); $(this).toggleClass("example"); }); 方法二 $.each([1,2,3,4],function(){ //$(this)==数组中的每一个数组(如果数组是对象,就是对象) }); 方

  • 浅谈jQuery中的$.extend方法来扩展JSON对象

    $.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 例一 合并 settings 和 options,修改并返回 settings var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options); 结果 set

  • 浅谈ES6新增的数组方法和对象

    es6新增的遍历数组的方法,后面都会用这个方法来遍历数组,或者对象,还有set,map let arr=[1,2,3,4,3,2,1,2]; 遍历数组最简洁直接的方法 for (let value of arr) { console.log(value);//输出1,2,3,4,3,2,1,2 } 1. 数组.map() 返回一个新的数组,es5要复制一个新的数组我们一般用循环,现在直接用map let arr=[1,2,3,4,3,2,1,2]; let newArr=arr.map((val

  • 浅谈Java泛型让声明方法返回子类型的方法

    泛型典型的使用场景是集合.考虑到大多数情况下集合是同质的(同一类型),通过声明参数类型,可免去类型转换的麻烦.本文将讨论本人阅读Spring Security源码时遇到的一个关于泛型递归模式的问题. 声明方法返回子类型 在Spring Security的源码里有一个ProviderManagerBuilder接口,声明如下 public interface ProviderManagerBuilder<B extends ProviderManagerBuilder<B>> ext

  • 浅谈JS中的bind方法与函数柯里化

    绑定函数bind()最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值.不同于call和apply只是单纯地设置this的值后传参,它还会将所有传入bind()方法中的实参(第一个参数之后的参数)与this一起绑定. 关于这个特性看<JS权威指南>原文的例子: var sum = function(x,y) { return x + y }; var succ = sum.bind(null, 1); //让this指向null,其后的实参也会作为实参传入被绑定的函数sum

  • 浅谈c++中的输入输出方法

    cin:  当碰到空格或换行符'\n'时,输入结束: char a[10],b[10]; cout<<"Enter some input:\n"; cin>>a>>b; cout<<a<<b<<"End\n"; 输出结果为: Enter some input: 12 34 56 1234END cin.getline: 当碰到换行符'\n'或达到所能接受的最大字符数时,输入结束: char a[

  • 浅谈java中==以及equals方法的用法

    equals 方法是 java.lang.Object 类的方法. 有两种用法说明: (1)对于字符串变量来说,使用"=="和"equals()"方法比较字符串时,其比较方法不同. "=="比较两个变量本身的值,即两个对象在内存中的首地址. "equals()"比较字符串中所包含的内容是否相同. 比如: String s1,s2,s3 = "abc", s4 ="abc" ; s1 =

随机推荐