Android数据之Json解析
2016-07-26 18:23
441 查看
1.数据为一个json对象,没有数组,使用原生JSONObject,JSONArray
例如: 单数据{‘singer’:{‘id’:01,’name’:’tom’,’gender’:’男’}}
多个数据{“singers”:[
{‘id’:02,’name’:’tom’,’gender’:’男’},
{‘id’:03,’name’:’jerry,’gender’:’男’},
{‘id’:04,’name’:’jim,’gender’:’男’},
{‘id’:05,’name’:’lily,’gender’:’女’}]}
a)单数据
b)多数据
2.数据为json格式,有数组,使用gson解析
a)无数组
b)有数组
反序列化
例如: 单数据{‘singer’:{‘id’:01,’name’:’tom’,’gender’:’男’}}
多个数据{“singers”:[
{‘id’:02,’name’:’tom’,’gender’:’男’},
{‘id’:03,’name’:’jerry,’gender’:’男’},
{‘id’:04,’name’:’jim,’gender’:’男’},
{‘id’:05,’name’:’lily,’gender’:’女’}]}
a)单数据
JSONObject object = new JSONObject(string); JSONObject singer = object.optJSONObject("singer"); String sid = singer.optString("id"); String uid = singer.optString("name"); String gender = singer.optString("gender");
b)多数据
JSONObject object = new JSONObject(string); JSONArray array = object.optJSONArray("singers"); JSONObject singer = array.opt(1); String name = singer.optString("name");
2.数据为json格式,有数组,使用gson解析
a)无数组
Gson gson = new Gson(); //序列化 MyObject myobj = new MyObject(); String jsonstr = gson .toJson(myobj); //反序列化 MyObject myobj = gson.fromJson(jsonstr, MyObject.class); //序列化数组 String[] days = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; String numbersJson = gson.toJson(numbers); //序列化集合 List<String> myobjs = new ArrayList<String>(); String jsonstr = gson.toJson(myobjs);
b)有数组
反序列化
JSONArray categorys = jsonObject.optJSONArray("category"); Gson gson = new Gson(); Type listType = new TypeToken<LinkedList<CategoryModel>>() {}.getType(); LinkedList<CategoryModel> list = gson.fromJson(categorys.toString(), listType);
相关文章推荐
- android_studio上传svn的时候那些不提交
- Android RecyclerView+item动画+下拉刷新,上拉加载更多,侧滑删除(易用可定制)
- BottomSheet的用法
- Android NDK Samples
- 安装android
- tools:replace="android:icon" 的作用和替代方法
- RecyclerView添加Header的正确方式
- Android中ViewFlipper的使用详解
- android Activity的四种启动模式详讲 singleTop standard singleTask singleInstance
- >Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android滑动效果是如何产生的
- Android多线程断点续传实现总结
- 从源码一次彻底理解Android的消息机制
- 安卓学习笔记---android RecyclerView首字母悬浮在顶部,滑动删除
- Android大图片裁剪解决方案
- android的多次点击事件
- Android中样式styles和theme主题的使用方式
- Android for arm上的so注入(inject)和挂钩(hook)
- 读懂 Android 中的代码混淆
- Android Canvas 画各种图形和Bitmap详解