用java对象生成json数据

来源:互联网 发布:sql server数据库大小 编辑:程序博客网 时间:2024/06/01 09:39

在微信开发中经常需要传送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报支持

1 0
原创粉丝点击