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 ...
随机推荐
- mysql源码重启
1.通过rpm包安装的MySQL service mysqld restart /etc/inint.d/mysqld start 2.从源码包安装的MySQL // linux关闭MySQL的命令 ...
- JS框架比较
https://www.oschina.net/translate/comparison-of-js-frameworks这几个框架我都用过1. Ember 2.x已经没有script标签在页面里了, ...
- 【Java 基础篇】【第五课】类的构造函数
Java 也有自己的构造函数,如同c++一样有两个特征: 1.构造函数的名字和类的名字相同 2.构造函数没有返回值 下面来看一下这个例子: public class test { public sta ...
- 移动设备优先viewport
Bootstrap 3 的设计目标是移动设备优先,然后才是桌面设备.这实际上是一个非常及时的转变,因为现在越来越多的用户使用移动设备. 为了让 Bootstrap 开发的网站对移动设备友好,确保适当的 ...
- Linux下对各种压缩文件处理
Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...
- Java中类名与文件名的关系
1.Java保存的文件名必须与类名一致: 2.如果文件中只有一个类,文件名必须与类名一致: 3.一个Java文件中只能有一个public类: 4.如果文件中不止一个类,文件名必须与public类名一致 ...
- sublime删除安装的插件
如果想要删除插件,Ctrl+Shift+P调出命令面板,输入remove,调出Remove Package选项并回车,选择要删除的插件即可
- js中将字符串转换成json的三种方式
1,eval方式解析,恐怕这是最早的解析方式了.如下: function strToJson(str){ var json = eval('(' + str + ')'); return json; ...
- 如何做好多语言(小语种)网站SEO
摘自http://www.life-cream.com/how-to-do-multi-language-seo/ 这篇文章在今年4月就开了头,一直到今天才把坑填好,我是有多懒.在动笔之前本来有个前缀 ...
- ajax处理回调函数,用ajax向后台发送数据
这是我的后台返回给前台的数据: 处理后台返回的数据有一下两种方式: function sethouse_housing_pattern(housing_pattern){ var str=[]; va ...