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

网站模板搭建设计课程

网站模板搭建,设计课程,河南网站备案代理,给客户做网站图片侵权JSON#xff08;JavaScript Object Notation#xff09;是一种轻量级的数据交换格式#xff0c;采用完全独立于语言的文本格式#xff0c;为Web应用开发提供了一种理想的数据交换格式。 本文将主要介绍在Android开发中#xff0c;如何在服务器端创建JSON数据#xff0c;以…   JSONJavaScript Object Notation是一种轻量级的数据交换格式采用完全独立于语言的文本格式为Web应用开发提供了一种理想的数据交换格式。   本文将主要介绍在Android开发中如何在服务器端创建JSON数据以及如何在Android客户端对JSON数据进行解析。   1.JSON数据结构   在JSON中有两种数据结构对象和数组。 1.1对象   在JSON中一个对象以“{”左括号开始“}”右括号结束。每个“名称”后跟一个“:”冒号冒号后是该名称的值多个“名称:值”之间使用 “,”逗号分隔开来。名称需要使用双引号括起来值如果是字符串则必须用双引号括起来如果是数值型则不需要。其结构示意图如图1所示。 图1 JSON对象结构示意图   如下的代码是一个简单的JSON对象示例 1   { 2   id:001, 3   name:jack, 4   age:25 5   } 1.2数组   在JSON中数组是值value的有序集合。一个数组以“[”左中括号开始“]”右中括号结束。值之间使用 “,”逗号分隔开来。其结构示意图如图2所示。 图2 JSON数组结构示意图   如下的代码是一个简单的JSON数组示例   [北京,上海,广州] 1.3值的类型   在JSON的对象和数组结构中value值不仅可以是数字、字符串等简单数据类型还可以是对象、数组等如图3所示。 图3 JSON中值的类型   因此我们可以使用对象和数组的组合构成复杂的数据结构。如下的代码使用对象结构定义了一个“students”对象在“students”对象中包含了一个学生数组而学生数组中的值又是JSON对象。 1 { 2 students: 3 [ 4 {name:jack,age:23}, 5 {name:rose,age:24} 6 ] 7 }   2.在服务器端生成JSON数据   通常客户端在请求服务器数据时服务器可以使用XML文档、JSON数据或HTML的形式将数据发送给客户端。   那么如何在服务器端生成JSON数据呢首先需要完成以下两个准备工作。   1我们需要使用MyEclipse创建了一个Web Project这里我将该工程命名为了“JsonDemoProject”用来模拟服务器端的Web服务。   2我们还需要在该工程中导入JSON的API数据包json-lib-2.2.2-jdk15.jar。   在JSON的API中提供了JSONObject类通过调用JSONObject类的put(Object key, Object value)方法可以将一个Object对象以键值对的形式存入JSONObject对象。通过调用JSONObject类的toString()方法则可以将JSONObject对象转化为JSON数据。   如下的代码创建了一个JsonTools类并实现了静态方法createJsonString()用来生成JSON数据。 1   public class JsonTools {2    3    /*4    * Function : 生成JSON数据5    * Param   :  key Json数据的键值6    * object 要生成Json数据的内容7    * Retuen  : JSON数据8    * Author  : 博客园-依旧淡然9    */ 10    public static String createJsonString(String key, Object value) { 11    JSONObject jsonObject new JSONObject(); //创建一个JSONObject对象 12    jsonObject.put(key, value); //往JSONObject对象中填入内容 13    return jsonObject.toString(); //生成JSON数据并返回 14    } 15    16   }   通过使用该方法我们可以很方便的将各种数据传递进来并将其转化成JSON数据。比如我们可以在JsonService类中实现一个简单的获取Person对象列表的方法具体如下 1 /*2 * Function : 获取Person对象列表3 * Author  : 博客园-依旧淡然4 */5 public ListPerson getListPerson() {6 ListPerson list new ArrayListPerson();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 }   其中Person对象具有idint、nameString和ageint三个属性。   最后我们可以创建一个继承自HttpServlet的JsonAction类并实现其中的doPost()方法用来响应客户端对服务器的请求。具体如下 1   public void doPost(HttpServletRequest request, HttpServletResponse response)2 throws ServletException, IOException {3 4 response.setContentType(text/html;charsetutf-8);5 request.setCharacterEncoding(utf-8);6 response.setCharacterEncoding(utf-8);7 PrintWriter out response.getWriter();8 9 ListPerson listPerson jsonService.getListPerson(); 10 11 String str null; 12 String action_flag request.getParameter(action_flag); //获取URL参数 13 if(action_flag.equals(persons)) { 14 str JsonTools.createJsonString(persons, listPerson); 15 } 16 out.println(str); 17 out.flush(); 18 out.close(); 19 }   可以看到在doPost()方法中我们通过调用getListPerson()方法获得了Person对象列表listPerson并将其传入JsonTools.createJsonString()方法中从而获得了一串JSON数据。   将该工程发布到Tomcat上使用浏览器访问该Web工程可以看到如图4所示的界面Person对象列表被成功的转化成了JSON数据。 图4 生成的JSON数据   3.在客户端解析JSON数据   通过上面的步骤我们已经在服务器上生成了JSON数据。要在我们的Android工程中获取该JSON数据是很容易的只需要利用Android为我们提供的HttpURLConnection接口访问图4所示的URL即可。   那么获取到服务器上的JSON数据以后如何在Android工程中完成对该JSON数据的解析呢   观察图4所示的JSON数据可以看出   1该JSON数据的最外层是JSONObjectJSONObject的键是“persons”值是一个JSONArray。   2在JSONArray中又包含了3个JSONObject对象。   3而在内嵌的每一个JSONObject对象中都有3个键值对的组合。   分析清楚了JSON数据的构成形式之后就可以开始着手对其进行解析了。在Android工程中我们可以创建一个JsonTools类并实现getListPerson()类方法用来完成把从服务器获得的Json数据解析出来还原成Person对象列表。具体代码如下所示 1 /*2 * Function : 解析JSON数据还原成Person对象列表3 * Param : key Json数据的键值4 * jsonString 从服务器获得的Json数据5 * Retuen  : Person对象列表6 * Author : 博客园-依旧淡然7 */8 public static ListPerson getListPerson(String key, String jsonString) {9 ListPerson list new ArrayListPerson(); 10 try { 11 JSONObject jsonObject new JSONObject(jsonString); //创建JSONObject对象 12 JSONArray personArray jsonObject.getJSONArray(key); //获取JSONObject对象的值该值是一个JSON数组 13 for(int i 0; i personArray.length(); i) { 14 JSONObject personObject personArray.getJSONObject(i); //获得JSON数组中的每一个JSONObject对象 15 Person person new Person(); 16 int id personObject.getInt(id); //获得每一个JSONObject对象中的键所对应的值 17 String name personObject.getString(name); 18 int age personObject.getInt(age); 19 person.setId(id); //将解析出来的属性值存入Person对象 20 person.setName(name); 21 person.setAge(age); 22 list.add(person); //将解析出来的每一个Person对象添加到List中 23 } 24 } catch (JSONException e) { 25 e.printStackTrace(); 26 } 27 return list; 28 }   在本实例中点击Button按钮向服务器发送获取JSON数据的请求从服务器获得JSON数据后可以使用以上的代码完成对JSON数据的解析最后将解析得到的Person对象依次显示在TextView控件中。程序运行的结果如图5所示。 图5 运行结果 转载于:https://www.cnblogs.com/menlsh/archive/2013/05/14/3078948.html
http://www.pierceye.com/news/105855/

相关文章:

  • 网站手机端排名怎么做用笔记本做网站
  • 食药监局网站建设方案南京企业自助建站
  • 竹山县住房和城乡建设局网站红豆网桂林论坛
  • 浙江省建设网站专题网站建设的请示
  • php网站好吗红旗渠建设集团网站
  • 网站建设如何不被忽悠做营销怎样才能吸引客户
  • 代写文章兼职济南公交优化
  • 商城开发网站建立公司网站步骤
  • 查询域名注册网站泰国做网站
  • 网站图片描述怎么写社区类网站有哪些
  • 网站竞争对手的选定一般参考什么标准的网站的推广方案的内容有哪些
  • 把别人的图片拿来做网站wordpress 覆盖原始图片对比效果
  • 江门市建设工程备案网站乌兰浩特网站开发
  • 个人介绍微电影网站模板免费下载一个网站的建设成本
  • 搬瓦工怎么做网站百度小程序开发教程
  • 织梦网站被攻击小型门户网站建设方案
  • 长沙网站托管公司排名静态网站结构如何更新
  • 网站建设 宜宾湖州网站建设培训教程
  • 网站建设脚本什么叫营销型网站
  • 沧州网站建设专业的公司4000-262-seo优化与品牌官网定制
  • 网页游戏推广网站怎么做如何创建平台类网站
  • 十堰英文网站建设学校教育网站模板
  • 学校网页网站模板免费下载微信的微网站
  • 网站开发的解决方案小型行业网站建设维护成本
  • 浏阳市网站建设百度中心人工电话号码
  • 高端外贸网站制作智慧团建网站没有验证码
  • 做网站需要买服务器么网站建设营销外包公司排名
  • 网站建设中要多使用图片258网站建设
  • 做多语言网站教程开网页慢是什么原因
  • 汽车商城网站模板seo公司网站推广