zoukankan      html  css  js  c++  java
  • 【Android进阶】Gson解析json字符串的简单应用



    在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json。这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式,如果使用SAX解析方式,则可以一边加载一边解析,对于数据量比较大的应用,比较适合。今天主要整理一下使用Gson解析json格式字符串的简单使用。
    首先,必须导入外部包



    /**
     * 
     * @author ZhaoKaiQiang
     *
     * @time   2014年5月4日
     */
    public class JSONParser {
    
    	protected static Gson gson = new Gson();
    
    	/**
    	 * 任意对象转换为字符串
    	 * 
    	 * @param obj
    	 *            任意对象,可以是任何实体类,Map<?,?>,List<?>接口的实现
    	 * @return
    	 */
    	public static String toString(Object obj) {
    		return gson.toJson(obj);
    	}
    
    	/**
    	 * 标准JSON字符串反序列化为对象。
    	 * 
    	 * @param jsonString
    	 *            json字符串
    	 * @param type
    	 *            类型反射(Class<?>)或反射令牌(TypeToken)
    	 * @return
    	 */
    	public static Object toObject(String jsonString, Object type) {
    		jsonString = jsonString.replace(" ", "");
    		jsonString = jsonString.replace("﹠nbsp", "");
    		jsonString = jsonString.replace("nbsp", "");
    		jsonString = jsonString.replace("&", "");
    		jsonString = jsonString.replace("&", "");
    		jsonString = jsonString.replace("amp", "");
    
    		if (type instanceof Class<?>) {
    			try {
    				return gson.fromJson(jsonString, (Class<?>) type);
    			} catch (JsonSyntaxException e) {
    				e.printStackTrace();
    				return null;
    			}
    		} else if (type instanceof Type) {
    			try {
    				return gson.fromJson(jsonString, (Type) type);
    			} catch (JsonSyntaxException e) {
    				e.printStackTrace();
    				return null;
    			}
    		} else {
    			throw new RuntimeException("只能是Class<?>或者通过TypeToken获取的Type类型");
    		}
    
    	}
    }


  • 相关阅读:
    Eclipse/STS 常用快捷键
    Git代码管理常用命令
    Git命令
    Atom python版本的切换
    robot Frame之文件上传和下载
    ride打开后,log和report置灰的解决办法
    Python2和Python3共存下使用robotframework
    selenium+python
    firefox上安装selenium ide失败
    软件测试知识点补充1
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3749547.html
Copyright © 2011-2022 走看看