BaseBean的统一解析

将json转换为对象

/**
     * 解析json
     * @param json
     * @return T bean类
     */
    private T parseJson(String json) {
        Gson gson = new Gson();
        // 2.从一个 json 中去解析数据, 这里需要建对应的 java bean类
        // 没有T.class的写法,使用泛型解析
        ParameterizedType type = (ParameterizedType) getClass().getGenericSuperclass();
        Type[] types = type.getActualTypeArguments();
        //写一个TypeToken的匿名子类,然后再getType即可
//        gson.fromJson(json, new TypeToken<List<HomeBean.ApkItem>>(){}.getType());

        return gson.fromJson(json, types[0]);
        //List<HomeBean.ApkItem>
    }
如果要继承 `BaseBean` 类,可以按照以下的方式进行编写: ```java public class ChatMessage extends BaseBean { private String message; private String sender; private long time; public ChatMessage() { // 空构造函数,用于反序列化 } public ChatMessage(String message, String sender, long time) { this.message = message; this.sender = sender; this.time = time; } // getter 和 setter 方法省略 @Override public String toString() { return "ChatMessage{" + "message='" + message + '\'' + ", sender='" + sender + '\'' + ", time=" + time + '}'; } } ``` 在这个例子中,`ChatMessage` 类继承了 `BaseBean` 类,并添加了三个属性 `message`、`sender` 和 `time`。此外,还提供了一个空构造函数和一个带有三个参数的构造函数。 在继承了 `BaseBean` 类之后,我们可以使用 `toString()` 方法来将对象转换为 JSON 格式的字符串。此外,还可以使用 `fromJson()` 方法来将 JSON 格式的字符串转换为对象。具体代码可以参考下面的例子: ```java ChatMessage chatMessage = new ChatMessage("Hello, world!", "Alice", System.currentTimeMillis()); String jsonString = chatMessage.toString(); System.out.println(jsonString); ChatMessage newChatMessage = fromJson(jsonString, ChatMessage.class); System.out.println(newChatMessage); ``` 输出结果如下: ``` {"message":"Hello, world!","sender":"Alice","time":1632992141846} ChatMessage{message='Hello, world!', sender='Alice', time=1632992141846} ``` 可以看到,我们成功地将 `ChatMessage` 对象转换为了 JSON 格式的字符串,并通过 `fromJson()` 方法将其转换回对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值