public static Object toBean(String jsonString, Class<?> beanclass) {
GsonBuilder gsonb = new GsonBuilder();
gsonb.setDateFormat("yyyy-MM-dd HH:mm:ss");
Gson gson = gsonb.create();
return gson.fromJson(jsonString, beanclass);
}
 
使用gson解析复杂的json:
一开始可能试了许多次,发现自己使用的方法根本没错,但却找不出什么原因,后来找了资料才发现,这个beanclass的定义也是有一定的规则的:
1、内部嵌套类必须是static,不然会解析出错
2、类里面的属性必须跟json字段里面的key是一模一样的
3、[]里面的必须用List来封装,例如:List<GuideData>,GuideData里面的属性定义也必须跟json里面的key一模一样。
 

gson使用注意事项的更多相关文章

  1. gson 转换 List<Map> 注意事项

    如果list泛型显示指定Map类型, 这时的Map 不能直接转换为 jre自带的 map类型 gson封装了 StringMap 进行转换

  2. gson使用详解

    昨天读一篇文章,看到gson这个词,一开始还以为作者写错了,问了度娘之后才发现是我才疏学浅,于是大概了解了一下gson用法,总体来说还是很简单的. Gson.jar下载 JavaBean转json / ...

  3. Redis设置Key/value的规则定义和注意事项(附工具类)

    对于redis的存储key/value键值对,经过多次踩坑之后,我们总结了一套规则:这篇文章主要讲解定义key/value键值对时的定义规则和注意事项. 前面一篇文章讲了如何定义Redis的客户端和D ...

  4. gson 说明

    JSON对象格式 法兹测试仪测试案例编纂JavaScript对象表示法(JSON)格式的特殊字符转义,类型等,由于谷歌GSON是底层的JSON库处理类型的详细说明,请参阅到GSON文档的详细信息,请参 ...

  5. FastJSON、Gson、Jackson(简单了解使用)

    下载地址(maven) Jackson:http://mvnrepository.com/search?q=jackson FastJson:http://mvnrepository.com/sear ...

  6. 废弃fastjson!大型项目迁移Gson保姆级攻略

    前言 大家好,又双叒叕见面了,我是天天放大家鸽子的蛮三刀. 在被大家取关之前,我立下一个"远大的理想",一定要在这周更新文章.现在看来,flag有用了... 本篇文章是我这一个多月 ...

  7. Java后端部署以及与Android通信注意事项

    1 概述 本文列举了一些Android+后端Java通信/部署时的问题以及注意事项,覆盖的问题包括但不限于安全组.数据库.路径等,如果各位读者的Android端不能正常访问Java后端,希望这里的解决 ...

  8. jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧

    这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...

  9. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

随机推荐

  1. php常用代码

    $total_count = mysql_num_rows($rslt);//返回记录条数 date("ymdHis");//130618104741 注:年份没有前两位 PHP手 ...

  2. Windows与Linux共享文件夹互相访问

    [原文]  首先安装并配置软件samba [html] view plain copy sudo yum install samba samba-client vim /etc/samba/smb.c ...

  3. 应用github pages创建自己的个人博客

    首先你需要注册自己的github账号 1.登录或者注册github,登录之后点击右上角的“+”号,选择“New repository”菜单,创建仓库,用于存储和博客相关的源文件. 2.跳转页面将填写域 ...

  4. 在脚本中操作plist文件

    终端输入: /usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" /Users/achen/Desktop/testBundl ...

  5. Java学习-037-JavaWeb_006 -- JSP 动作标识 - include

    这个动作是指在当前的页面中包含一个或多个 JSP 页面或者 HTML 文件,语法:<jsp:include file="../jsp/login.jsp" flush=&qu ...

  6. php 显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前

    /* *function:显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前 *timeInt:unix time时间戳 *format:时间显示格式 */ public function ...

  7. iOS GCD简单使用

    Grand Central Dispatch (GCD) 1)运行在主线程的Main queue,通过dispatch_get_main_queue获取. /*!* @function dispatc ...

  8. iOS 获取UUID

    -(NSString*)GetUUID { CFUUIDRef puuid = CFUUIDCreate( nil ); CFStringRef uuidString = CFUUIDCreateSt ...

  9. Fast and Robust Hand Tracking Using Detection-Guided Optimization

    http://handtracker.mpi-inf.mpg.de/projects/FastHandTracker/

  10. 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍

    面向对象三大特性 面向对象三大特征:继承 :封装/隐藏 :多态(为了适应需求的多种变化,使代码变得更加通用!) 封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 继承:很好的实现 ...