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

为了直观,直接写了一个简单的 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值