用java对象生成json数据

在微信开发中经常需要传送json数据,这时候可以构建相应的对象以生成需要的json数据,举例如下:

import com.fasterxml.jackson.databind.ObjectMapper;


/*
 * 将对象转换为json数据
 * 
 * 以微信sdk生成带参数的二维码为例,生成如下json数据
 * {"expire_seconds": 604800, "action_name": "QR_SCENE", 
 * "action_info": {"scene": {"scene_id": 123}}}
 * 
 */

public class jsonTest {
    public static void main(String[] args) throws Exception {
        //调用对象,增加信息
        Scene scene = new Scene();
        scene.setScene_id("123");

        Action_info action_info = new Action_info();
        action_info.setScene(scene);

        JsonF jsonF = new JsonF();
        jsonF.setExpire_seconds(604800);
        jsonF.setAction_name("QR_SCENE");
        jsonF.setAction_info(action_info);

        ObjectMapper mapper = new ObjectMapper();

        String string = mapper.writeValueAsString(jsonF);

        System.out.println(string);
    }
}

/**
 * 
 * 生成json数据的对象
 */
class JsonF{
    private int expire_seconds ;    //有效期
    private String action_name; //二维码类型
    private Action_info action_info; //场景信息

    public String getAction_name() {
        return action_name;
    }
    public void setAction_name(String action_name) {
        this.action_name = action_name;
    }
    public Action_info getAction_info() {
        return action_info;
    }
    public void setAction_info(Action_info action_info) {
        this.action_info = action_info;
    }
    public int getExpire_seconds() {
        return expire_seconds;
    }
    public void setExpire_seconds(int expire_seconds) {
        this.expire_seconds = expire_seconds;
    }

}

/**
 * 场景信息类
 * @author Lee
 *
 */
class Action_info{
    private Scene scene;

    public Scene getScene() {
        return scene;
    }
    public void setScene(Scene scene) {
        this.scene = scene;
    }
}
/**
 * 
 * @author Lee
 *
 */
class Scene{
    private String scene_id;

    public String getScene_id() {
        return scene_id;
    }

    public void setScene_id(String scene_id) {
        this.scene_id = scene_id;
    }

}

输出结果:
eclipse控制台
注:本例需要jackson-databind-2.8.2.jar报支持

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值