gson解析json
2015-10-13 20:23
441 查看
gson解析json
public class Student
{
public String name;
public int age;
public boolean sex;
}
Object转json串:
Gson gson = new Gson(); String json = gson.toJson(student);
json转Object:
private static void parser2Object() { // json转换 为简单对象 String json = "{'name':'张三','age':18,'sex':true}"; Gson gson = new Gson(); Student student = gson.fromJson(json, Student.class);// System.out.println(student); }
json转List:
private static void parser2List() { String json = "[{'name':'刘1','age':18,'sex':true},{'name':'刘2','age':19,'sex':false}]"; Gson gson = new Gson(); TypeToken<List<Student>> token = new com.google.gson.reflect.TypeToken<List<Student>>() {};// List<Student> stus = gson.fromJson(json, token.getType()); }
json转Map:
private static void parser2Map() { String json = "[{'name':'刘1','age':18,'sex':true},{'name':'刘2','age':19,'sex':false}]"; Gson gson = new Gson(); TypeToken<Map<String, Student>> token = new com.google.gson.reflect.TypeToken<Map<String, Student>>() {}; Map<String, Student> stus = gson.fromJson(json, token.getType()); }
json先节点解析,在转换:
private static void parser2() { // 节点解析 String json = "{'status':200,'data':{'name':'张三','age':18,'sex':true}}"; // 1.获得 解析者 JsonParser parser = new JsonParser(); // 2.获得 根节点元素 JsonElement element = parser.parse(json); // 3.根据 文档判断根节点属于 什么类型的 Gson节点对象 JsonObject root = element.getAsJsonObject(); // 4. 取得 节点 下 的某个节点的 value JsonPrimitive flagJson = root.getAsJsonPrimitive("status"); int asInt = flagJson.getAsInt();// 请求返回判断 JsonObject dataJson = root.getAsJsonObject("data"); // (JsonElement, Class<T>) element->obj/arr Student student = new Gson().fromJson(dataJson, Student.class); root.getAsJsonArray(); }
嵌套类解析:
public class NewsBean { public int code; public ArrayList<NewsMenuData> data; public class NewsMenuData { public String id; public String title; public ArrayList<NewsTabData> children; // toString... } public class NewsTabData { public String id; public String title; // toString... } // toString... }
{ 'code': 1, 'data': [ { 'id': 1, 'title': 'news', 'children': [ { 'id': 1, 'title': 'dataTitle' }, { 'id': 1, 'title': 'dataTitle' } ] }, { 'id': 2, 'title': 'news', 'children': [ { 'id': 1, 'title': 'dataTitle' }, { 'id': 1, 'title': 'dataTitle' } ] } ] }
String json = "{'code':1,'data':[{'id':1,'title':'news','children':[{'id':1,'title':'dataTitle'},{'id':2,'title':'news','children':[{'id':1,'title':'dataTitle'}]},{'id':1,'title':'news','children':[{'id':2,'title':'dataTitle'},{'id':2,'title':'news','children':[{'id':1,'title':'dataTitle'}]}]}"; Gson gson = new Gson(); NewsBean student = gson.fromJson(json, NewsBean.class);//
相关文章推荐
- JavaScript window.location物
- JavaScript HTML DOM - 改变 CSS
- Jsp页面的路径问题
- js判断用户是否正在滚动滚动条,滚动条滚动是否停止
- js中substr,substring,indexOf,lastIndexOf,split等的用法
- js控制div滚动条,滚动滚动条使div中的元素可见并居中
- JS input text只能输入数字且两个小数
- js百钱买白鸡的几种方法
- javascript中关键字in以及循环for...in的使用和注意事项
- js中的引用赋值
- js使用FileReader和Google的md5.js计算文件的MD5值
- Angular.js学习笔记(二)
- Js获取当前日期时间及其它操作
- js 字符串转数字 计算时间差 求模 整除
- velocity 转json数组 相关字段使用i18n
- js中json的转换
- JS原型函数相关基础知识
- JS计时器
- pdf.js使用
- Ubuntu下安装json-c