JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组"。
应用此技术从一个json对象字符串格式中得到一个java对应的对象。
JSONObject是一个“name.values”集合,
通过get(key)方法取得key对应的value部分(字符串)。
通过getJSONObject(key)可以取得一个JSONObject对象。
通过getJSONArray(key)可以得到一个JSONArray对象。
导入需要的jar包:
package com.west.webcourse.po; /**
* 第01步:编写bean类,
* 下一步com.west.webcourse.servlet.JavaBeanToJOSNString.java
*/
public class PersonInfoPo {
private String name;
private int age;
private String sex; public PersonInfoPo(){} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }
编写servlet类:
package com.west.webcourse.servlet; import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.west.webcourse.po.PersonInfoPo; import net.sf.json.JSONArray; public class JavaBeanToJOSNString extends HttpServlet { PersonInfoPo pif = new PersonInfoPo();
PersonInfoPo pif01 = new PersonInfoPo(); /** 第03步:重写doGet()方法,下一步:测试 */
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
System.out.println("转换");
out.print("转换后的JSON字符串:<br/>");
/** 向浏览器发送JSon格式的字符串 */
getJsonStringToBeans();
out.flush();
out.close();
} /** 第02步:将JSon类型字符串转换为:po类 */
public void getJsonStringToBeans() {
String jsonString = "[{\"name\":\"zhang3\",\"sex\":\"nan\",\"age\":\"30\"},{\"name\":\"zhang4\",\"sex\":\"nan4\",\"age\":\"304\"}]";
System.out.println(jsonString);
/*2.1:转换成json数组*/
JSONArray allJsons = JSONArray.fromObject(jsonString);
/*2.2:讲json数组转换成PersonInfoPo数组*/
PersonInfoPo[] allBeans = (PersonInfoPo[]) allJsons.toArray(allJsons, PersonInfoPo.class);
for (Object object : allBeans) {
pif01 = (PersonInfoPo) object;
System.out.println("姓名:" + pif01.getName() + ":性别:"
+ pif01.getSex() + ":年龄:" + pif01.getAge());
}
} }
编写测试类:
package com.west.webcourse.servlet;
/**
* 第04步:测试
* 下一步:配置web.xml
*/
import org.junit.BeforeClass;
import org.junit.Test; public class JavaBeanToJOSNStringTest {
static JavaBeanToJOSNString js;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
js=new JavaBeanToJOSNString();
} @Test
public void jsonStringToBean() {
js.getJsonStringToBeans();
} }
编写po(bean)类:
JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"的更多相关文章
- JSon_零基础_006_将JSon格式的字符串转换为Java对象
需求: 将JSon格式的字符串转换为Java对象. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key ...
- JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合
将JSon格式的"数组"字符串转换为List集合. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, ...
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mengzhengbin520.blog.51cto.com/7590564/12 ...
- json字符串转java对象数组
需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...
- fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map
作者:buster2014 推荐:长安散人 fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map JSON字符串与Java对象的转换 1.将Java对象或Java ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- JSON字符串与java对象的转换
所需的jar包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar ...
- JSON 字符串 与 java 对象的转换
jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //j ...
随机推荐
- c语言学习感想
接触c语言已经2个多月了,在这段期间按时的完成了作业,上课能够较好的听讲,因此我获得了老师奖励的小黄衫. 同时,希望自己能够学好c语言! 学习感受与心得 因为兴趣,选择了计算机这专业,我从遥远的南方来 ...
- oj 1031 random permutation
Problem A: Random Permutations Time Limit: 1 Sec Memory Limit: 128 MB Submit: 91 Solved: 54 Descri ...
- iftop ifstat
ifstat 介绍 ifstat工具是个网络接口监测工具,比较简单看网络流量 实例 默认使用 #ifstat eth0 eth1 KB/s in KB/s out KB/s in KB/s out 0 ...
- 【转】Swing 与EDT线程
在Swing程序中,经常能看到如下这种代码: SwingUtilities.invokeLater(new Runnable(){ @Override public void run() { text ...
- 详解OpenGL中的各种变换(投影变换,模型变换,视图变换)(完)——法线变换
前面两节内容已经说完了所有的三种变换.也就是说我们现在程序里面既不需要glLookAt(),也不需要gluPerspective(),这些矩阵我们都可以自己写.然后,再用glMultMatrix()来 ...
- gcc常用
gcc选项:-I指定头文件搜索路径.-D编译时定义宏-L链接时指定库文件搜索路径-l指定库文件名称-pipe使用管道,一个程序的输出作为输入直接送给另外一个程序, 而且还可以一直连续下去,不需要临时文 ...
- 利用WebService发布图片文件
服务器端: 1.新建一个Asp.net空网站RGImageServer. 2.新建一个WebService项目ImageService,项目新增文件ImageService.asmx,添加方法GetT ...
- MongoDB安装、管理工具、操作
1. mongoDB安装.启动.关闭 1.1 下载安装包 wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.3.tgz 1.2 ...
- 一个前端html模板处理引擎(javascript) - pure
做后台开发(java/python)的同学开发web应用,对于前端页面生成技术并不陌生,像jsp,freemark等.开发UGC类型的互联网站,因为要SEO友好,所以一般都会在后台用模板引擎直接生成好 ...
- iOS让数组内对象执行同一方法
// 让数组中的所有对象都执行removeFromSuperview方法 [self.answerView.subviews makeObjectsPerformSelector:@selector( ...