Gson 使用补遗--adapter使用

本文介绍了在使用Gson时遇到的Map泛型转换问题,Gson将JSON字符串转换为Map时会将String变为Object。为了解决这个问题,文章提供了一个基于Gson封装org.json.JSONObject的例子,展示了如何创建自定义Adapter来处理JSONObject,包括数据区域和返回状态的字段。
摘要由CSDN通过智能技术生成

由于gson在转换Map泛型时无法deserializer回来.比如Map<String,String>,它将json string重新转换为Map时会将里面的string变成父类对象Object,所以我们需要重新将adapter进行封装或者添加自己的adapter.

由于工作原因,我需要接受和发送JSONObject,所以我给出的是基于gson中封装org.json.JSONObject例子.有兴趣的可以看下JSONObject,他其实就是MAP的封装实现.

例子如下:

<Bean>

------------------------ 華麗的分割線------------------------------

package org.seay.bean;

 

import org.json.JSONObject;

 

/**

 * @author Sheng Yan

 *

 */

public class FirstEndBean{

 

    /**

     * Data area.The key is upper word.

     */

    private JSONObject data;

    /**

     * return status

     */

    private String successful;

 

    /**

     * return error code and message

     */

    private String error;

 

    public JSONObject getData() {

        return data;

    }

 

    public void setData(JSONObject data) {

        this.data = data;

    }

 

    public String getSuccessful() {

        return successful;

    }

 

    public void setSuccessful(String successful) {

        this.successful = successful;

    }

 

    @Override

    public String toString() {

        return "FirstEndBean [data=" + data + ", successful=" + successful + "]";</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值