把数据对象转成字符串_Android Json数据的转换
按目前来说,大多数前端和后台的交互数据的格式,基本都是以json格式为主,json数据已经是变得很常见了。为了能够更加方便的处理json数据,我自己封装了一个工具类,使得能够更加方便快捷的去处理json数据。
先上代码
TypeBuilder类
public class TypeBuilder implements ParameterizedType { private final Class raw; private final Type[] args; public TypeBuilder(Class raw, Type[] args) { this.raw = raw; this.args = args != null ? args : new Type[0]; } @Override public Type[] getActualTypeArguments() { return args; } @Override public Type getRawType() { return raw; } @Override public Type getOwnerType() { return null; }}
JsonUtil主工具类
public class JsonUtil { private static Gson gson = null; static { GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(JsonObject.class, new JsonDeserializer() { @Override public Object deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { JsonObject jsonObject = jsonElement.getAsJsonObject(); return jsonObject; } }); builder.registerTypeAdapter(Double.class, new JsonSerializer() { @Override public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) { if (src == src.longValue()) return new JsonPrimitive(src.longValue()); return new JsonPrimitive(src); } }); gson = builder.disableHtmlEscaping().create(); } /** * JSON字符串转成对象 * * @param content * @param clazz * @param * @return */ public static T fromJsonObject(String content, Class clazz) { if (StringUtil.isEmpty(content)) { return null; } Type type = new TypeBuilder(clazz, new Class[]{clazz}); return gson.fromJson(content, type); } /** * JSON字符串转成数组 * * @param content * @param clazz * @param * @return */ public static List fromJsonArray(String content, Class clazz) { if (StringUtil.isEmpty(content)) { return null; } // 生成List 中的 List Type listType = new TypeBuilder(List.class, new Class[]{clazz}); return gson.fromJson(content, listType); } /** * 将对象转换成字符串 * * @param object * @return */ public static String toJson(Object object) { if (object == null) { return null; } return gson.toJson(object); } /** * 将对象转换成map对象 * * @param obj * @return */ public static Map toMap(Object obj) { JsonElement element = gson.toJsonTree(obj); return gson.fromJson(element, Map.class); } public static T fromJsonObject(Object obj, Class clazz) { Type type = new TypeBuilder(clazz, new Class[]{clazz}); JsonElement element = gson.toJsonTree(obj); return gson.fromJson(element, type); } public static List fromJsonArray(Object obj, Class clazz) { Type listType = new TypeBuilder(List.class, new Class[]{clazz}); JsonElement element = gson.toJsonTree(obj); return gson.fromJson(element, listType); }}
使用方法
1.例如我们收到的一个json数据为
String jsonData="{"name":"张三","age":1,"phone":"13000000000"}"
2.我们需要根据这个数据格式,新建一个对象
public class User{private String name;private int age;private String phone;...忽略get方法和set方法}
3.使用工具类的fromJsonObject方法
User user=JsonUtil.fromJsonObject(jsonData,User.class);
这样我们就可以将字符串的数据转换为一个对象。
如果我们需要将一个对象转成字符串,则只需要使用toJson方法即可
User user=new User();user.setName("李四");String data=JsonUtil.toJson(user);//输出的data则为{"name":"李四","age":0,"phone":null}
把数据对象转成字符串_Android Json数据的转换相关推荐
- [转载] 把数据对象转成字符串_python入门基础培训教程,Python 字符串学习
参考链接: Python字符串| printable python入门基础培训教程中,字符串的学习即基础又非常重要,如果不能掌握好python字符串,对于以后python课程的学习,将会带来严重的错误 ...
- js字符串怎么转python对象_python对象与json相互转换的方法 python中怎么把json对象转成字符串...
在python中 如何实现将一个json字符串转化为对象 对象?json不能包含对象, 只能包含基本的数据类型, 键值对, 列表, 数字, 字符串等等 import jsond = {"k& ...
- 字符串对象转数组对象_js对象转数组的方法 js怎么将数组对象转变成字符串
只需要一句,arr.__proto__=[];但是要注意浏览器支持__proto__才行,最新的浏览器应该都支持. 以下两种都可以解决此问题: function transform(obj){ var ...
- js中字符串转成对象,对象转成字符串
JSON.stringify() 对象转成字符串 JSON.parse(); 字符串转成对象
- FrontEnd——数组、字符串、JSON之间的转换和操作
文章目录 简介 方案 1 插件或者说第三方库 1.1 flatted 1.2 circular-json(不推荐) 1.3 qs参数序列化 2 原生的方法 2.1 JSON.stringfy() 2. ...
- Esp8266 进阶之路28 【高级篇】教你轻松自如使用cJson在乐鑫 esp8266 如何解析一段json数据以及如何生成一段json数据。(附带demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
- HQChart使用教程11-如何把K线数据API替换成自己的API数据
HQChart使用教程11-如何把K线数据API替换成自己的API数据 设置API域名 Vue: uniapp: HQChart代码地址 HQChart只提供前端行情展示, 不提供行情API数据,De ...
- MUI:字符串和json数据的相互转换
JSON.parse()--字符串转换json. JSON.stringify()--json转换成字符串 如:收到Json对象:response,则: {"result":&qu ...
- html对象转成字符串,4.对象转化为字符串
4_对象转化为字符串 14:56 思维导图.png 序列化,指将 JavaScript 值转化为 JSON 字符串的过程. JSON.stringify() 能够将 JavaScript 值转换成 J ...
最新文章
- python 数据分析学什么-利用Python做数据分析 需要学习哪些知识
- python中浅拷贝与深拷贝
- boost::lambda::constructor用法的测试程序
- GDCM:转储一个DICOM文件,显示DICOM中的结构和值的测试程序
- flex内根据id(string)获取对象
- 【Transformer】Are Transformers More Robust Than CNNs?
- ASCII码与string的相互转换
- 【jQuery笔记Part4】03-事件详解
- CentOS的 ifconfig/mail/traceroute命令不存在
- 群辉 NAS 配置 iSCSI 存储
- 电脑使用技巧 快捷键
- MySQL使用Mycat实现分库分表-读写分离
- 2021年中国商品期货交易规模分析:交易量达71.71亿手,同比增长21.15%[图]
- 【双卡尔曼滤波】基于simulink仿真的双卡尔曼滤波
- python 抽奖 完全公平的随机数算法_抽奖 随机数
- Python AutoCAD 注释
- androidstudio安装的app打开闪退,AndroidManifest中也声明了类,但是却没有报错信息。(小坑)
- JS学习笔记(五)函数类型、箭头函数、arguments参数、标签函数
- confluence 制作流程图_「每周开方」 高效制作流程图、思维导图
- GIF制作器哪个好,如何制作表情包