将JSon格式的"数组"字符串转换为List集合。

应用此技术从一个json对象字符串格式中得到一个java对应的对象。
JSONObject是一个“name.values”集合,
通过get(key)方法取得key对应的value部分(字符串)。
通过getJSONObject(key)可以取得一个JSONObject对象。
通过getJSONArray(key)可以得到一个JSONArray对象。

导入jar包:

编写:po(bean)类:

  1. package com.west.webcourse.po;
  2.  
  3. /**
  4. * 第01步:编写bean类,
  5. * 下一步com.west.webcourse.servlet.JavaBeanToJOSNString.java
  6. */
  7. public class PersonInfoPo {
  8. private String name;
  9. private int age;
  10. private String sex;
  11.  
  12. public PersonInfoPo(){}
  13.  
  14. public int getAge() {
  15. return age;
  16. }
  17.  
  18. public void setAge(int age) {
  19. this.age = age;
  20. }
  21.  
  22. public String getSex() {
  23. return sex;
  24. }
  25.  
  26. public void setSex(String sex) {
  27. this.sex = sex;
  28. }
  29.  
  30. public String getName() {
  31. return name;
  32. }
  33.  
  34. public void setName(String name) {
  35. this.name = name;
  36. }
  37.  
  38. }

第02步:编写servlet类:

  1. package com.west.webcourse.servlet;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import javax.servlet.ServletException;
  9. import javax.servlet.http.HttpServlet;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12.  
  13. import com.west.webcourse.po.PersonInfoPo;
  14.  
  15. import net.sf.json.JSONArray;
  16. import net.sf.json.JSONObject;
  17.  
  18. public class JavaBeanToJOSNString extends HttpServlet {
  19.  
  20. PersonInfoPo pif = new PersonInfoPo();
  21. PersonInfoPo pif01 = new PersonInfoPo();
  22.  
  23. /** 第03步:重写doGet()方法,下一步:测试 */
  24. @Override
  25. protected void doGet(HttpServletRequest request,
  26. HttpServletResponse response) throws ServletException, IOException {
  27. response.setContentType("text/html;charset=utf-8");
  28. PrintWriter out = response.getWriter();
  29. System.out.println("转换");
  30. out.print("转换后的JSON字符串:<br/>");
  31. /** 向浏览器发送JSon格式的字符串 */
  32. getJsonStringToBeanList();
  33. out.flush();
  34. out.close();
  35. }
  36.  
  37. /** 第02步:将JSon类型字符串转换为:List集合对象 */
  38. public List<PersonInfoPo> getJsonStringToBeanList() {
  39. String jsonString = "[{\"name\":\"zhang3\",\"sex\":\"nan\",\"age\":\"30\"},{\"name\":\"zhang4\",\"sex\":\"nan4\",\"age\":\"304\"}]";
  40. System.out.println(jsonString);
  41. /* 2.1:转换成json数组 */
  42. try {
  43. /* 2.2:创建PersonInfoPo对象的List列表 */
  44. List<PersonInfoPo> lp = new ArrayList<PersonInfoPo>();
  45. /**2.3:Json字符串,转换为JsonArray数组*/
  46. JSONArray PoJsonArray = JSONArray.fromObject(jsonString);
  47. /**2.4:遍历数组,取出JsonObject对象,并转换成PersonInfoPo对象,添加到List列表*/
  48. for (Object object : PoJsonArray) {
  49. PersonInfoPo pif02 = new PersonInfoPo();
  50. /**2.4.1:将JsonObject对象转换成PersonInfoPo对象*/
  51. pif02=(PersonInfoPo)JSONObject.toBean((JSONObject)object,PersonInfoPo.class);
  52. lp.add(pif02);
  53. System.out.println("装入:"+pif02.getName());
  54. }
  55. return lp;
  56.  
  57. } catch (Exception e) {
  58. e.printStackTrace();
  59. }
  60. return null;
  61. }
  62.  
  63. }

测试servlet:

  1. package com.west.webcourse.servlet;
  2. /**
  3. * 测试
  4. */
  5.  
  6. import java.util.List;
  7.  
  8. import org.junit.BeforeClass;
  9. import org.junit.Test;
  10.  
  11. import com.west.webcourse.po.PersonInfoPo;
  12.  
  13. public class JavaBeanToJOSNStringTest {
  14. static JavaBeanToJOSNString js;
  15. @BeforeClass
  16. public static void setUpBeforeClass() throws Exception {
  17. js=new JavaBeanToJOSNString();
  18. }
  19.  
  20. @Test
  21. public void testGetJsonStringToBeanList() {
  22. List<PersonInfoPo> lp=js.getJsonStringToBeanList();
  23. for (PersonInfoPo person : lp) {
  24. System.out.println("测试,循环取出:"+person.getName());
  25. }
  26. }
  27.  
  28. }

JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合的更多相关文章

  1. JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"

    将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...

  2. JSon_零基础_006_将JSon格式的字符串转换为Java对象

    需求: 将JSon格式的字符串转换为Java对象. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key ...

  3. JSon_零基础_005_将po(bean)对象转换为JSon格式的对象字符串,返回给界面

    将po(bean)对象转换为JSon格式的对象字符串,返回给界面 导入jar包: 编写po(bean)类: package com.west.webcourse.po; /** * 第01步:编写be ...

  4. JSon_零基础_005_将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面

    将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面 导入jar包: 编写:po(bean)代码: package com.west.webcourse.po; /** * 第 ...

  5. JSon_零基础_004_将Set集合对象转换为JSon格式的对象字符串,返回给界面

    将Set集合对象转换为JSon格式的对象字符串,返回给界面 需要导入的jar包: 编写:servlet: package com.west.webcourse.servlet; import java ...

  6. JSon_零基础_003_将Map集合对象转换为JSon格式的对象字符串,返回给界面

    将Map集合对象转换为JSon格式的对象字符串,返回给界面 需导入的jar包: 编写servlet: package com.west.webcourse.servlet; import java.i ...

  7. JSon_零基础_002_将List类型数组转换为JSon格式的对象字符串,返回给界面

    将List类型数组转换为JSon格式的对象字符串,返回给界面 所需要导入的包: 编写bean: package com.west.webcourse.po; /** * 第01步:编写bean类, * ...

  8. 如何解决jersey框架中以json格式返回数组,当数组中元素一个时json格式不对

    原文地址:http://www.cnblogs.com/swpk/p/3566536.html?utm_source=tuicool jersey 是oracle 出的一个较好的REST框架.使用此框 ...

  9. ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)

    客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...

随机推荐

  1. SHELL 八大扩展

    最近在梳理bash知识的的过程中,有幸阅读了man bash文档,一时间犹如醍醐灌顶一般,很多当初不明白的地方都豁然开朗,现在就其中的一点做一分享,同时也为man bash做一下广告,当你面对bash ...

  2. 使用NSTimer过程中最大的两个坑

    坑1. retain cycle问题. 在一个对象中使用循环执行的nstimer时,若希望在对象的dealloc方法中释放这个nstimer,结局会让你很失望. 这个timer会导致你的对象根本不会被 ...

  3. 利用JS脚本通过getAttribute()和setAttribute()等对CSS样式进行操作

    HTML中引入CSS样式的方式有三种: 1.最常用的,引入样式表,在样式表中编写样式,引入方式如下:<link href="css/style.css" rel=" ...

  4. Solaris 10下Qt编译Oracle 10g驱动

    上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...

  5. C++ 实现 发送HTTP Get/Post请求 good

    1.简述 最近简单看了一下关于HTTP请求方面的知识,之前一直用Qt来实现,有专门HTTP请求的QNetworkAccessManager类来处理,实现也比较简单,这里主要讲解一下用C++代码来实现H ...

  6. 公共POI导出Excel方法--java

    最早开始的时候做过一些数据Excel导出的功能,但是到后期每一次导出都需要写一些差不多类似的代码,稍微研究了一下写了个公共的导出方法. 这里用的是POI,然后写成了一个公共类,传入设置好格式的数据,就 ...

  7. Magento多语言功能

    Magento多语言功能是建立在视图(view)基础之上的,可以通过后台创建店铺视图来创建基于Magento的多语言店铺.本文为大家讲解如何创建多语言的功能.首先,进入“管理店铺”节点,如下所示. S ...

  8. (leetcode)Reverse Linked List 脑子已经僵住

    Reverse a singly linked list. 参考http://www.2cto.com/kf/201110/106607.html 方法1: 讲每个节点的指针指向前面就可以. /** ...

  9. Java学习-034-JavaWeb_003 -- JSP page 指令

    前文对 JSP 的基础知识进行了初步的讲解,此文主要讲述 JSP page 指令. page 指令用于定义页面的多种属性,例如:脚本语言.编码方式.导入的 Java 包等,page 执行的语法如下: ...

  10. WPF数据库连接错误:The user is not associated with a trusted SQL Server connection.

    我当初安装sql server的时候选的Window Authentication mode,没选SQL Server Windows Authentication. 后来做WPF时连接数据库时需要一 ...