博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android笔记之Gson数据解析
阅读量:5012 次
发布时间:2019-06-12

本文共 2540 字,大约阅读时间需要 8 分钟。

服务器返回客户端的数据有两种:XML,Json数据(轻量级)。

Json本质上是String。

下面讲解在服务器生成Gson数据以及在客户端解析Gson数据的过程:

1、服务器端返回Gson数据:

List
list = service.getMsg();out.print(gsonutlis.createGsonString(list));

gsonutlis.java代码:

public class gsonutlis {    public static String createGsonString(Object value){        Gson gson=new Gson();        String result=gson.toJson(value);        return result;            }}

 

2、客户端接收Gson数据并解析:

String result = HttpClientUtils.sendHttpclientGet(null,                CommonUrl.Get_Msg, CommonUrl.eccode);        List
list = GsonUlits.getListFromGson(result);

GsonUlits.java

import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import com.znufe.service.CommonUrl;public class GsonUlits {    // 从一个json获取一个T对象并返回T,如一个用户的基本信息    public static 
T getObjectFromJson(String jsonString, Class
cls) { // import java.lang.reflect.Type; // import com.google.gson.reflect.TypeToken; T t = null; try { Gson gson = new Gson(); t = gson.fromJson(jsonString, cls); } catch (Exception e) { // TODO: handle exception } return t; } // 从一个json获取一个List
对象并返回,如多个用户的基本信息 public static
List
getObjectsFromJson(String jsonString, Class
cls) { List
list = new ArrayList
(); try { Gson gson = new Gson(); list = gson.fromJson(jsonString, new TypeToken
>() { }.getType()); } catch (Exception e) { // TODO: handle exception } // TypeToken:反射机制 return list; } public static Map
getKeyapFromGson(String jsonString) { Map
map = new HashMap
(); Gson gson = new Gson(); try { map = gson.fromJson(jsonString, new TypeToken
>() { }.getType()); } catch (Exception e) { // TODO: handle exception } return map; } // 相当与getObjectsFromJson的泛型T=String public static List
getListFromGson(String jsonString) { List
list = new ArrayList
(); try { Gson gson = new Gson(); list = gson.fromJson(jsonString, new TypeToken
>() { }.getType()); } catch (Exception e) { // TODO: handle exception } return list; } public static List
> getListKeyapFromGson( String jsonString) { List
> list = new ArrayList
>(); try { Gson gson = new Gson(); list = gson.fromJson(jsonString, new TypeToken
>>() { }.getType()); } catch (Exception e) { // TODO: handle exception } return list; }}

 

Done!

 

转载于:https://www.cnblogs.com/xingyyy/p/3379722.html

你可能感兴趣的文章
年终总结
查看>>
初创互联网公司技术架构变迁之路
查看>>
【BZOJ 3676】 3676: [Apio2014]回文串 (SAM+Manacher+倍增)
查看>>
【网络流24题】No. 13 星际转移问题 (网络判定 最大流)
查看>>
解析$.grep()源码及透过$.grep()看(两次取反)!!的作用
查看>>
[模板] 字符串hash
查看>>
SGU438_The Glorious Karlutka River =)
查看>>
Linux集群及LVS简介
查看>>
简单几何(直线与圆的交点) ZOJ Collision 3728
查看>>
Codeforces Round #327 (Div. 2)
查看>>
如何解决Provisional headers are shown问题(转)
查看>>
开发网站遇到的bug
查看>>
实现简单的接口自动化测试平台
查看>>
EXCEL工作表合并
查看>>
Prime Path
查看>>
ODAC(V9.5.15) 学习笔记(三)TOraSession(2)
查看>>
单纯形法
查看>>
SQL中的replace函数
查看>>
java中的类型安全问题-Type safety: Unchecked cast from Object to ...
查看>>
如何解决最后一个尾注引用显示与致谢混为一谈的问题-下
查看>>