Android Gson 解析
来源:互联网 发布:映射网络驱动器 本机 编辑:程序博客网 时间:2024/05/21 15:45
Android Gson 解析
package com.example.gsondemo;import java.util.List;import java.util.Map;import com.google.gson.Gson;import android.os.Bundle;import android.util.Log;import android.app.Activity;public class GsonActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /** * 格式1: * {"x":[],"y":[{"id":"110","name":"卡特"},{"id":"120","name":"德玛"}]} * * 格式2: * {"x":"100","y":[{"id":"123","name":"木木"},{"id":"456","name":"叮咚"}],"z":{"user":"admin","password":"123456"}} * * 格式3: * {"o":{"x":["a","b","c"]},"p":["d","e","f","g"]} */ String value1 = "{\"x\":[],\"y\":[{\"id\":\"110\",\"name\":\"卡特\"},{\"id\":\"120\",\"name\":\"德玛\"}],\"z\":[]}"; String value2 = "{\"x\":\"100\",\"y\":[{\"id\":\"123\",\"name\":\"木木\"},{\"id\":\"456\",\"name\":\"叮咚\"}],\"z\":{\"user\":\"admin\",\"password\":\"123456\"}}"; String value3 = "{\"o\":{\"x\":[\"a\",\"b\",\"c\"]},\"p\":[\"d\",\"e\",\"f\",\"g\"]}"; //格式1测试:// Gson g = new Gson();// GsonBean bean = g.fromJson(value1, GsonBean.class);// // for (String s:bean.x) {// Log.d("格式1测试:", s);// }// //取值 // for (LOL l : bean.y) {// Log.d("格式1测试:", l.id+"~~~~~"+l.name);// } //格式2测试:// Gson g = new Gson();// GsonBean bean = g.fromJson(value2, GsonBean.class);// // Log.d("x== ", bean.x);// for (LOL s:bean.y) {// Log.d("格式2测试:", s.id+"-----"+s.name);// }// Login login = bean.z;// Log.d("格式2测试:", login.user+"-----"+login.password); //格式3测试: Gson g = new Gson(); GsonBean bean = g.fromJson(value3, GsonBean.class); for (String value:bean.o.keySet()) { Log.v("格式3测试:", value+"----------"+bean.o.get(value)); } for (String value:bean.p) { Log.v("格式3测试:", value); } }}/** * 首先我们需要定义一个序列化的Bean * */class GsonBean{ /** * 格式1: * {"x":[],"y":[{"id":"110","name":"卡特"},{"id":"120","name":"德玛"}]} * 注意: * 内部嵌套的类必须是static的,要不然解析会出错, * 类里面的属性名必须跟Json字段里面的Key是一模一样的, * []括起来的部分是一个List,所以定义为 List<LOL> y 而只用{}嵌套的就定义为 public C c */// public List<String> x;// //"y":[{"id":"110","name":"卡特"},{"id":"120","name":"德玛"}] 括号里面的就定义为一个对象// public List<LOL> y;//属性名跟字段名一样// // public static class LOL{// public String id;// public String name;// } /** * 格式2: * {"x":"100","y":[{"id":"123","name":"木木"},{"id":"456","name":"叮咚"}],"z":{"user":"admin","password":"123456"}} * 注意: * {}嵌套的就定义为 public Login z */// public String x;// public List<LOL> y;//属性名跟字段名一样// public Login z;// public static class LOL{// public String id;// public String name;// }// public static class Login{// public String user;// public String password;// } /** * 格式3: * {"o":{"x":["a","b","c"]},"p":["d","e","f","g"]} * */ public Map<String,List<String>> o; public List<String> p;}
测试结果如下:
0 0
- Android JSON Gson 解析
- Android Gson 解析
- Android Gson解析
- Android gson解析
- android中Gson解析
- Android Gson解析Json
- Android Gson 解析 Json
- android之gson解析
- android Gson解析问题
- Android json解析--GSON
- android Gson解析1
- Android Gson解析
- android Gson解析
- Android Gson 解析泛型报错
- Android 之 Gson 解析
- android中用gson解析json
- android 变长数据GSON解析
- Android解析json数据(Gson)
- 访问者电脑的分辨率
- ASP.NET发送ICQ消息DIY
- Microsoft.Net中数字签名技术
- 采用python批量统计分析Excel表格数据
- iMatrix平台新版本6.0.0Dev功能更新说明
- Android Gson 解析
- 什么是手机定位,手机定位在生活中带来哪些作用
- java short转byte的方法
- centerimg.css
- hadoop基础----hadoop实战(三)-----hadoop运行MapReduce---对单词进行统计--经典的自带例子wordcount
- spring
- ORU-10027:buffer overflow,limit of 10000 bytes问题的解决
- java中date和calendar的区别
- oracle 频繁宕机 ORA-00600: internal error code, arguments: [krccacp_badfile]