当前位置: 首页 > news >正文

好的做详情页的网站有哪些/手机版谷歌浏览器入口

好的做详情页的网站有哪些,手机版谷歌浏览器入口,乙方宝,河南网站托管JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式。 在上一篇博文《Android学习笔记44:JSON数据解析》中,我们使用…

  JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式。 

  在上一篇博文《Android学习笔记44:JSON数据解析》中,我们使用基本的JSON API完成了在服务器端创建JSON数据,以及在Android客户端对JSON数据进行解析。 

  其实,要创建和解析JSON数据,也可以使用GSON来完成。GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。使用GSON,可以很容易的将一串JSON数据转换为一个Java对象,或是将一个Java对象转换为相应的JSON数据。 

 

1.GSON的两个重要方法

  在GSON的API中,提供了两个重要的方法:toJson()和fromJson()方法。其中,toJson()方法用来实现将Java对象转换为相应的JSON数据,fromJson()方法则用来实现将JSON数据转换为相应的Java对象。

1.1 toJson()方法

  toJson()方法用于将Java对象转换为相应的JSON数据,主要有以下几种形式:

  (1)String toJson(JsonElement jsonElement);

  (2)String toJson(Object src);

  (3)String toJson(Object src, Type typeOfSrc);

  其中,方法(1)用于将JsonElement对象(可以是JsonObject、JsonArray等)转换成JSON数据;方法(2)用于将指定的Object对象序列化成相应的JSON数据;方法(3)用于将指定的Object对象(可以包括泛型类型)序列化成相应的JSON数据。

1.2 fromJson()方法

  fromJson()方法用于将JSON数据转换为相应的Java对象,主要有以下几种形式:

  (1)<T> T fromJson(JsonElement json, Class<T> classOfT);

  (2)<T> T fromJson(JsonElement json, Type typeOfT);

  (3)<T> T fromJson(JsonReader reader, Type typeOfT);

  (4)<T> T fromJson(Reader reader, Class<T> classOfT);

  (5)<T> T fromJson(Reader reader, Type typeOfT);

  (6)<T> T fromJson(String json, Class<T> classOfT);

  (7)<T> T fromJson(String json, Type typeOfT);

  以上的方法用于将不同形式的JSON数据解析成Java对象。

 

2.在服务器端生成JSON数据

  要使用GSON技术在服务器端生成JSON数据,首先需要完成以下两个准备工作。

  (1)使用MyEclipse创建了一个Web Project,这里我将该工程命名为了“GsonDemoProject”,用来模拟服务器端的Web服务。 

  (2)往该工程中导入GSON的API数据包gson-2.2.1.jar。 

  然后,我们便可以在该工程中创建一个JsonTools工具类,并实现静态方法createJsonString(),在该方法中通过使用GSON技术来生成JSON数据。该方法的具体实现如下。

复制代码
 1   public class JsonTools {2       3       /*4        * Function :   生成JSON字符串5        * Param   :   value     想要转换成JSON字符串的Object对象6        * Retuen  :   JSON字符串7        * Author  :   博客园-依旧淡然8        */9       public static String createJsonString(Object value) {
10           Gson gson = new Gson();
11           String string = gson.toJson(value);
12           return string;
13       }
14       
15   }
复制代码

  可以看到,这个方法的具体实现非常简单,首先创建一个Gson对象,然后通过调用Gson对象的toJson()方法,将传进来的value(任意的Java对象)转换成JSON字符串即可。

  通过使用该方法,我们可以很方便的将任意Java对象传递进来,并将其转化成JSON数据。和上一篇博文中一样,我们可以在JsonService类中,实现一个简单的获取Person对象列表的方法,具体如下:

复制代码
 1     /*2      * Function :  获取Person对象列表3      * Author  :  博客园-依旧淡然4      */5     public List<Person> getListPerson() {6         List<Person> list = new ArrayList<Person>();7         Person person1 = new Person(001, "jack", 25);8         Person person2 = new Person(002, "rose", 24);9         Person person3 = new Person(003, "bob", 26);
10         list.add(person1);
11         list.add(person2);
12         list.add(person3);
13         return list;
14     }
复制代码

  在该方法中,我们向List列表中加入了3个Person对象,每个Person对象具有id(int)、name(String)和age(int)三个属性。

  最后,我们还需要创建一个继承自HttpServlet的JsonAction类,并实现其中的doPost()方法,用来响应客户端对服务器的请求。具体如下:

复制代码
 1   public void doPost(HttpServletRequest request, HttpServletResponse response)2             throws ServletException, IOException {3 4         response.setContentType("text/html;charset=utf-8");5         request.setCharacterEncoding("utf-8");6         response.setCharacterEncoding("utf-8");7         PrintWriter out = response.getWriter();8         9         List<Person> listPerson = jsonService.getListPerson();
10         
11         String str = null;
12         String action_flag = request.getParameter("action_flag");
13         if(action_flag.equals("persons") {
14             str = JsonTools.createJsonString(listPerson);
15         }
16         out.println(str);
17         out.flush();
18         out.close();
19     }
复制代码

  在该方法中,我们通过调用JsonService类中的getListPerson()方法获得了Person对象列表listPerson,并将其传入JsonTools.createJsonString()方法中,生成了Person对象列表的JSON数据。将该工程发布到Tomcat上,使用浏览器访问该Web工程,可以看到如图1所示的界面,Person对象列表被成功的转化成了JSON数据。

图1 生成的JSON数据

 

3.在客户端解析JSON数据

  在Android工程中,我们可以通过HttpURLConnection接口访问图1所示的URL来获得服务器上的JSON数据。

  得到JSON数据之后,便可以通过使用前面提到的fromJson()方法,将图1 所示的JSON数据还原成对应的Person对象列表了。当然了,因为这里使用到了GSON,同样需要向Android工程中导入gson-2.2.1.jar包。具体的实现方法如下。

复制代码
 1     /*2      * Function  :   解析JSON数据,还原成Person对象列表3      * Param     :   jsonString         从服务器获得的Json数据4      * Retuen   :   Person对象列表5      * Author    :   博客园-依旧淡然6      */7     public static List<Person> getListPerson(String jsonString) {8         List<Person> list = new ArrayList<Person>();9         Gson gson = new Gson();
10         list = gson.fromJson(jsonString, new TypeToken<List<Person>>(){}.getType());
11         return list;
12     }
复制代码

  可以看到,使用GSON解析JSON数据的代码实现也非常简单。其中,TypeToken是GSON提供的数据类型转换器,支持多种数据集合类型转换,其反射机制可以实现将解析出来的Java对象映射到对应的数据集合中。

  在本实例中,同样点击Button按钮向服务器发送获取JSON数据的请求,从服务器获得JSON数据后,使用以上的代码完成对JSON数据的解析,最后将解析得到的Person对象依次显示在TextView控件中。程序运行的结果如图2所示。

图2 运行结果

 

 

转自:链接

http://www.lbrq.cn/news/1402021.html

相关文章:

  • 网站开发神器/google安卓版下载
  • 界面设计做的好的网站/外贸网站平台哪个好
  • 做网站一定要会ps么/seo关键词优化推广外包
  • 想接做网站的单子/app拉新放单平台
  • 揭阳网站建设解决方案/厦门seo网站推广
  • 深圳购物网站建设报价/肇庆网站制作软件
  • 公司的网站建设规划书/seo教程 百度网盘
  • 昆明手机网站建设/产品seo怎么优化
  • 综合性网站平台建设/推广链接点击器安卓版
  • 免费域名qq空间申请/西安seo网络优化公司
  • 源代码下载/seo专员是做什么的
  • 代做毕业设计找哪个网站好/企业推广平台有哪些
  • 学做PPT报告的网站/沈阳沈河seo网站排名优化
  • 知名网站建设商家/四川seo快速排名
  • 广东手机网站建设价格低/长沙做网络推广公司的
  • 可以做家装设计的网站/seo站内优化站外优化
  • 如何跟客户销售做网站/58同城推广
  • 免费咨询律师网站/南宁网站建设
  • 怎样做视频网站的外链/国外搜索引擎网站
  • 百度免费网站申请注册/seo排名教程
  • 建设职业技术学院网站/外贸推广营销公司
  • 怎么样自己做网站接订单/徐州百度推广公司
  • 网站建设外包协议范本/seo主要做什么工作
  • 怎样自己建设一个网站/北京自动网络营销推广
  • 域名可以同时做邮箱和网站么/公司网站设计方案
  • 线上做图的网站/熊猫关键词工具官网
  • 做外掛网站空间/今日油价最新
  • 做网站成功/sem和seo是什么职业岗位
  • 给别人做网站赚钱吗/合肥百度推广排名优化
  • 做网站给不给源代码/如何搭建网站
  • AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
  • STM32学习笔记15-SPI通信软件控制
  • MacOS 安全机制与“文件已损坏”排查完整指南
  • go语言条件语if …else语句
  • <数据集>遥感飞机识别数据集<目标检测>
  • Linux bash核心介绍及目录命令