利用 fastjson.jar 把对象解析成Json 数据

来源:互联网 发布:思科大型网络配置实例 编辑:程序博客网 时间:2024/04/27 07:21

为了直观,直接写了一个简单的 Java Demo测试一下

1.先写一个实体类

import java.io.Serializable;public class TestClass implements Serializable {    /**     *      */    private static final long serialVersionUID = 9001282318017650100L;    /**     * 消息编码     */    private int msgCode;    // 用户id    private int msgUid;    /**     * 安全令牌     */    private String token;    /**     * 错误代码     **/    private String errorCode;    private String from;    /**     * 消息内容     */    private Object msgData;    public int getMsgCode() {        return msgCode;    }    public void setMsgCode(int msgCode) {        this.msgCode = 50;    }    public int getMsgUid() {        return msgUid;    }    public void setMsgUid(int msgUid) {        this.msgUid = 50;    }    public String getToken() {        return token;    }    public void setToken(String token) {        this.token = "token";    }    public String getErrorCode() {        return errorCode;    }    public void setErrorCode(String errorCode) {        this.errorCode = "errorCode";    }    public Object getMsgData() {        return msgData;    }    public void setMsgData(Object msgData) {        this.msgData = msgData;    }    public String getFrom() {        return from;    }    public void setFrom(String from) {        this.from = from;    }    @Override    public String toString() {        return "MessageDTO [msgCode=" + msgCode + ", msgUid=" + msgUid                + ", token=" + token + ", errorCode=" + errorCode                + ", msgData=" + msgData + "]";    }}

2.再Test 中 Main方法中测试

public class test {    /**     * @param args     */    public static void main(String[] args) {        System.out.println(getParams(1083,"android", "token", 0));    }    public static String getParams(int msgcode, Object obj, String token,            int uid) {        TestClass message = new TestClass();        message.setMsgCode(msgcode);        message.setMsgData(obj);        message.setToken(token);        message.setMsgUid(uid);        message.setFrom("0");        return JSON.toJSONString(message);    }}

输入结果如下:

{"from":"0","msgCode":50,"msgData":"android","msgUid":50,"token":"token"}

如果觉得不够直观,可在Json在线编辑器上,显示如图:
这里写图片描述

3 直接将字符转化为指定的对象

TestClass message = JSON.parseObject(str, TestClass .class);

4.以下几个是常用的方法:

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 parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean  public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray  public static final  List parseArray(String text, Class 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。

5.jar 包下载地址:https://github.com/alibaba/fastjson/archive/1.2.4.zip

0 0
原创粉丝点击