Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了码农小汪之Alibaba-fastjson的基本使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我们首先看我的一个使用吧,这个看起来更舒服一点
一个代码是我们主要的封装,里面的一个List又封装了一个Javabean

package com.hdu.bean;

import java.io.serializable;
import java.util.List;

public class Respondmessage<T> implements serializable{

    public Respondmessage() {
        super();
        // TODO Auto-generated constructor stub
    }
    private int  status;
    private String message;
    private List<T> result;
    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        this.status = status;
    }
    public String getmessage() {
        return message;
    }
    public void setmessage(String messagE) {
        this.message = message;
    }
    public List<T> getResult() {
        return result;
    }
    public void setResult(List<T> result) {
        this.result = result;
    }


}

List中的JavaBean的格式

package com.hdu.bean;

import java.io.serializable;
/** * * @author jetWang * */

public class UserInfoBase implements serializable{
    public UserInfoBase() {
        super();
        // TODO Auto-generated constructor stub
    }
    private String username;
    private String tell;
    private String email;
    private String REMARK;
    private int id;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String userName) {
        this.username = username;
    }
    public String getTell() {
        return tell;
    }
    public void setTell(String tell) {
        this.tell = tell;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getREMARK() {
        return REMARK;
    }
    public void setREMARK(String REMARK) {
        this.REMARK = REMARK;
    }

}

这个是我们够造的数据,让后向里面添加数据就行了,数据添加没有贴出来。

这个下面的是为了让为空的属性输出来
Respondmessage<UserInfoBase> respondmessage = new Respondmessage<UserInfoBase>();
jsonResult = JSON.toJSONString(respondmessage,serializerFeature.PrettyFormat,serializerFeature.WriteMapNullValue,serializerFeature.WriteDateUseDateFormat);
        log.info(jsonResult);

我们来看哈效果,你看就是一句话的事情,把我们的东西全部输出

看起来是不是特别的帅呢?而切他还可以还原一个javabean呢!真的不错,怪说不得,我们的阿里爸爸,把他说成fast….

说了这么多,还没有切入到我们的正题上面去哦,对哦,今天我没把jar包放在lib目录下,害的我找了半天的错误!放在用户目录下面并没有加载进去哦!诶诶

fastjson的简介:
Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全支持http://code.js-code.com/tag/http://json.org的标准,也是官方网站收录的参实现之一。支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。支持JDK 5、JDK 6、Android、阿里云手机等环境。
fastJson能够生成和解析的数据类型有哪些呢?

  • JavaBean
  • List< JavaBean>
  • List< Map< String,Object>
  • List< String>
    分别对应我们的生成json字符串和解析字符串

  • 生成json字符串
    (JavaBean,List< JavaBean>,List< String>,List< Map< String,Object>)

  • 解析json字符串为四种类型
    1。JavaBean

Person person = JSON.parSEObject(jsonString,Person.class);

2。 List< JavaBean >

List<Person> listPerson =JSON.parseArray(jsonString,Person.class);

3。 List< String >

List<@H_64_262@String> listString = @H_64_262@JSON.parseArray(jsonString,@H_64_262@String.class);

4。List< Map< String,Object>>

List<@H_112_5@map<String,Object>> listMap = JSON.parSEObject(jsonString,new TypeReference<List<@H_112_5@map<String,Object>>>(){});

下面来个简单的Jsonobject的解析

package com.hdu.Json;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;

public class JsonDemo {

    public static void main(String[] args) {
        String testString = "{\"体育\":\"姚明\",\"数学\":\"付老师\",\"英语\":\"一般般\",\"生活\":\"平常话\"}";
        for (int i = 0; i < 10; i++) {
            JSONObject jsonObject = JSONObject.parSEObject(testString);
            for (Map.Entry<String,Object> entry : jsonObject.entrySet()) {
                System.out.print(entry.getKey() + "-" + entry.getValue() + "\t");
            }
            System.out.println();
        }

    }

}

生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般  
生活-平常话  体育-姚明   数学-付老师  英语-一般般

这个只是简单的做个介绍,我试试,看别人的博客说顺序不一致,好像不是这回事。挺好的

函数 意义
public static final Object parse(String text) 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parSEObject(String text) 把JSON文本parse成JSONObject
public static final < T> T parSEObject(String text,Class< T > clazz); 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); 把JSON文本parse成JSONArray
public static final < T> List< T> parseArray(String text,Class< T> clazz); 把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object) 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object,Boolean prettyFormat); 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

大佬总结

以上是大佬教程为你收集整理的码农小汪之Alibaba-fastjson的基本使用全部内容,希望文章能够帮你解决码农小汪之Alibaba-fastjson的基本使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。