android json的封装
来源:互联网 发布:linux ping 包大小 编辑:程序博客网 时间:2024/06/05 08:24
android json的封装
一、概述
经常有服务器需要封装上传json,之前做过一次后来用到又忘记了,这次就权当在这里做次笔记也供大家探讨
交流。包括对含有数组格式json的封装。
二、json格式
首先看一下要封装出来的json是什么样子,这里以我在项目中做的为例子:
“data”:{“total”:1800,”id”:”2”,”type”:”2”,
“items”:[{“name” :”电费”,”type”:”1”,”money”:”200”},
{“name”:”水费”,”type”:”1”,”money”:”200”},
{“name”:”床”,”type”:”1”,”money”:”200”}]}}
这里看到包含有数组。
三、封装
直接上代码:
包含数组的需要两个Bean,第一次封装的时候我觉得比较麻烦,所以没这么用,但是说到底这样的方式比较规范
public class CjsonBean { public String total; public String id; public String type; public List<Items> items; public String getTotal() { return total; } public void setTotal(String total) { this.total = total; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getType() { return type; } public void setType(String type) { this.type = type; } public List<Items> getItems() { return items; } public void setItems(List<Items> items) { this.items = items; }}
把不是数组的建值都包含进去,注意这里最后的getItems()前面的是List,指的就是最后一个值items,然后再建立一个属于items的Bean:
public class Items { public String name; public String type; public String money; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getMoney() { return money; } public void setMoney(String money) { this.money = money; }
这样看应该是很清晰的,items这个数组里面的值都有在上面的Bean里面。
下面就是进行封装并以String的方式返回的代码,这里需要主要需要用到gson第三方包,有关这个应该很多人都有用过,不用我多说。下面代码也有详细的解析。
//封装json private String postJson() { //json数据格式 // "data":{"total":1800,"id":"2","type":"2","items":[{"name" // :"电费","type":"1","money":"200"}, // {"name":"水费","type":"1","money":"200"},{"name":"押金 //","type":"2","money":"2400"},{"name":"床","type":"1","money":"200"}]}} Gson gson = new Gson(); //创建一个实例 CjsonBean data = new CjsonBean(); List<Items> items = new ArrayList<>(); //逐一添加各项值 data.setId(id); data.setTotal(total); data.setType(type1); //这里的itemsInfos.size()表示items这个数组的长度 for (int i = 0; i < itemsInfos.size(); i++) { Items item = new Items(); item.setMoney(itemsInfos.get(i).money); item.setType(itemsInfos.get(i).type); item.setName(itemsInfos.get(i).name); items.add(item); } data.setItems(items); //最后利用gson的toJson方法把data转换成json格式的数据 String Jsonstr = gson.toJson(data); return Jsonstr ; }
这样对带有数组的json的封装就完成了,小弟也是初学者,还望有不同意见或者建议的留言大家一起探讨。
0 0
- android json的封装
- Android Json解析的封装
- android对json数据解析的封装
- android之Gson解析json的封装
- Android 关于JSON封装
- Android 封装json数据
- android 反射封装Json
- Android 一个简单的json格式的封装与解析
- Android JSON的封装(JSONObject,JSONStringer两种方法)
- 针对JSON的封装操作
- Json的解析与封装
- Json数据解析的封装
- Android之JSON解析与封装详解!
- Android JackSon (Json工具) 简单使用封装
- android网络通讯数据封装之 json
- Android 封装Json数据那点事儿
- Android端Json封装成类
- android网络通讯数据封装之 json
- Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
- 单例模式
- UESTC 759 倒推数组
- iOS----如何添加背景图片 并使图片可以一直在背景中显示
- javascript实现“ 设为首页” 和“ 收藏本站”
- android json的封装
- CodeForces 500 B. New Year Permutation(贪心+Floyd)
- Js--浮动那点事儿
- 一些值得学习的规范
- Android 系统联系人全特效实现(下),字母表快速滚动
- Js--递增
- android Paint之setXfermode方法
- 第16章 string类和标准模板库
- [Servlet]会话管理的概念、隐藏域、Cookie、URL重写