改造后的Gson库,在非Debug模式下对常用的数据类型进行容错处理(某一个字段由于数据类型不匹配,采用默认值处理)
- 集成方式
直接下载使用项目工程中IKGson.jar文件即可
- 开启容错模式
if (BuildConfig.DEBUG)
{
Gson.StrictMode = true;
}
| 类型 | 默认值 |
|---|---|
| byte | 0 |
| short | 0 |
| int | 0 |
| long | 0 |
| float | 0.0 |
| double | 0.0 |
| chat | '0' |
| String | "" |
| Boolean | false |
| Array(数组) | {} 空数据,非null |
| List(集合) | [] 空集合,非null |
"gifts":
{
"name": "xxx",
"gold":20,
"cl":[1,2,3],
"gid":154,
"c":100,
"mshort":45,
"mfloat":15,
"mdouble":1,
"boolean":true,
"mchar":'c'
}
/**
* Created by xxx on 2017/8/21.
*/
public class Gift {
public String name;
public int gold;
public int[] cl;
public long gid;
public byte c;
public short mshort;
public float mfloat;
public double mdouble;
public boolean mboolean;
public char mchar;
}
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c=10, c=0 |
| 双引号数据 | "10", "asd" | c=10, c= 0 |
| 裸露数据 | asd, [], {} | c = 0 |
| 空类型数据 | null, "null", 'null' | c = 0 |
| 大数数据 | 1000000000000000 | c = 0 |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c=10, c=0 |
| 双引号数据 | "10", "asd" | c=10, c= 0 |
| 裸露数据 | asd, [], {} | c = 0 |
| 空类型数据 | null, "null", 'null' | c = 0 |
| 大数数据 | 1000000000000000 | c = -1530494976 |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c=10, c=0 |
| 双引号数据 | "10", "asd" | c=10, c= 0 |
| 裸露数据 | asd, [], {} | c = 0 |
| 空类型数据 | null, "null", 'null' | c = 0 |
| 大数数据 | 1000000000000000 | c = -32768 |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c=10, c=0 |
| 双引号数据 | "10", "asd" | c=10, c= 0 |
| 裸露数据 | asd, [], {} | c = 0 |
| 空类型数据 | null, "null", 'null' | c = 0 |
| 大数数据 | 1000000000000000 | c = 1000000000000000 |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c=10.0, c=0.0 |
| 双引号数据 | "10", "asd" | c=10.0, c= 0.0 |
| 裸露数据 | asd, [], {} | c = 0.0 |
| 空类型数据 | null, "null", 'null' | c = 0.0 |
| 大数数据 | 1000000000000000 | c = 9.9999999E14 |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c=10.0, c=0.0 |
| 双引号数据 | "10", "asd" | c=10.0, c= 0.0 |
| 裸露数据 | asd, [], {} | c = 0.0 |
| 空类型数据 | null, "null", 'null' | c = 0.0 |
| 大数数据 | 1000000000000000 | c = 1.0E15 |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c='1', c='a' |
| 双引号数据 | "10", "asd" | c= '1', c= 'a' |
| 裸露数据 | asd, [], {} | c = 'a', c = '0',c = '0' |
| 空类型数据 | null, "null", 'null' | c = , c= 'n', c = 'n' |
| 大数数据 | 1000000000000000 | c = 1 |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c='10', c='asd' |
| 双引号数据 | "10", "asd" | c= '10', c= 'asd' |
| 裸露数据 | asd, [], {} | c = 'asd', c = '',c = '' |
| 空类型数据 | null, "null", 'null' | c = null, c= 'null', c = 'null' |
| 大数数据 | 1000000000000000 | c = '1000000000000000' |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | '10','asd' | c= false |
| 双引号数据 | "10", "asd" | c= false |
| 裸露数据 | asd, [], {} | c = false |
| 空类型数据 | null, "null", 'null' | c = false |
| 大数数据 | 1000000000000000 | c = false |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | "asd" | c =[] |
| 双引号数 | '10' | c = [] |
| 裸露数据 | 1 | c= [] |
| 空数据 | null | c= null |
| 测试类型 | 测试用例 | 测试结果 |
|---|---|---|
| 单引号数据 | "asd" | c = [] |
| 双引号数 | '10' | c = [] |
| 裸露数据 | 1 | c= [] |
| 空数据 | null | c= null |