急需-Android Gson转换问题

问题描述

Android Gson转换问题

import android.R.bool;

public class WebServerData { /// /// 返回数据 /// public String data;

/// <summary>     /// 提示消息     /// </summary>

public String msg ;

/// <summary>     /// 是否成功     /// </summary>

public bool success ;

public String getData() { return data; }

public void setData(String data) { this.data = data; }

public String getMsg() { return msg; }

public void setMsg(String msg) { this.msg = msg; }

public bool getSuccess() { return success; }

public void setSuccess(bool success) { this.success = success; } }

转换:

String d = msg.getData().getString("data"); Gson gson = new Gson();

gson.fromJson(d, WebServerData.class);

问题:问什么把对象中bool类型的参数去掉转换成功,有bool类型的就失败?

解决方案

public class JsonBooleanDeserializer implements JsonDeserializer{
@Override
public Boolean deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
throws JsonParseException {

try {
String value = json.getAsJsonPrimitive().getAsString();
return value.toLowerCase().equals("true");
} catch (ClassCastException e) {
throw new JsonParseException("Cannot parse json date '" + json.toString() + "'", e);
}
}
}

boolean类型需要自己去构造解析("true"->true 或者 "1"->true),自己选择boolean的解析
GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Boolean.class, new JsonBooleanDeserializer());
Gson gson = builder.create();

时间: 2024-09-14 23:42:34

急需-Android Gson转换问题的相关文章

如何使用gson转换map数据为json数组

问题描述 如何使用gson转换map数据为json数组 如题,我从数据库获取两行的字段内容,使用GSON的tojson的方法转换为JSON数据, //获取tplate这一列内容 ResultSet rst = db.query(); while(rst.next()){ resultMap.put(tplate, rst.getString(tplate)); } return (new Gson()).toJson(resultMap); 这是我转换一列数据的代码 但是这样只能转换最后一行的内

android字符串转换成16进制怎么转?

问题描述 android字符串转换成16进制怎么转? 求解答啊....在OnCreate中要怎么实现呢?转换之后要怎么通过密钥加密呢? 解决方案 String转换成16进制的方法:public static String str2HexStr(String str) { char[] chars = ""0123456789ABCDEF"".toCharArray(); StringBuilder sb = new StringBuilder(""

android-c++和Android项目转换

问题描述 c++和Android项目转换 将一个c++的项目改成Android项目,难度多大?有可行性吗? 解决方案 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /** ?*..

Android Gson的使用总结

1.概念 Gson是谷歌发布的一个json解析框架 2.如何获取     github:https://github.com/google/gson     android studio使用 compile 'com.google.code.gson:gson:2.7'     查看 最新版本号  下载最新的jar包 ,http://search.maven.org/#search%7Cga%7C1%7Ccom.google.code.gson     3.基于Gson封装的简单工具类JsonU

Android图片转换

Drawable.Bitmap.byte[]之间的转换 最近想试试从Android部分获取一张图片在Unity中进行显示,需要将图片转换为byte[]格式,借此机会整理一下Android的图片转换,即Drawable.Bitmap.byte[]之间的转换,希望能给大家带来一些帮助. 1.Drawable → Bitmap 转成Bitmap对象后,可以将Drawable对象通过Android的SK库存成一个字节输出流,最终还可以保存成为jpg和png的文件. 转化方法有不少: 比如有一个Drawa

Json转换神器之Google Gson的使用

这几天,因为项目的需要,接触了Google的Gson库,发现这个东西很好用,遂记下简单的笔记,供以后参考.至于Gson是干什么的,有什么优点,请各位同学自行百度.话不多说,切入正题: 1. 下载Gson的jar包,拷贝到项目的lib文件夹中,并将其加入到buildPath中.使用maven的同学,直接在pom中加入以下依赖即可: ? 1 2 3 4 5 <dependency> <groupId>com.google.code.gson</groupId> <ar

Java的JSON转换类库GSON的基础使用教程_java

Gson (GitHub:https://github.com/google/gson)是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. Gson里最重要的对象有2个Gson 和 GsonBuilder. Gson有2个最基本的方法 (1)toJson() – 转换java 对象到JSON (2)fromJson() – 转换JSON到java对象 编写实体类: public cla

gson-Android Gson解析boolean错误

问题描述 Android Gson解析boolean错误 今天突然出现了这种怪异的现象,我使用gson来解析服务器返回的json数据,json中有个字段isSuccess,是boolean类型,今天在请求的时候始终得不到正确的回应,一调试才知道isSuccess为false,但是返回的json中isSuccess是为true的,这种情况也不是每次都会发生,有时候又是正常的,服务器返回的json也是一样的,但是就会出现isSuccess会被解析成false的情况,有人遇到过这种情况吗? 发现了新的

android解析JSON数据_Android

JSONObject的使用  一. JSON对象的使用: String content = "{'username': 'linux', 'password': '123456'}"; JSONObject jsonObject = new JSONObject(content); String username = jsonObject.getString("username"); String password = jsonObject.getString(&q