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 ...
随机推荐
- java jmx
http://blog.csdn.net/qiao000_000/article/details/6063949 一.JMX简介 什么是JMX?在一篇网文中是这样说的:"JMX(Java M ...
- sql server 2008语句中的go有什么用?
GO表示一个批处理的结束, SQLSERVER遇到Go以后就会将GO之前的语句作为一整批进行处理你在SSMS里执行的时候, 通常加不加都可以,但是如果实在SQLCMD下执行, GO就是一个执行命令了另 ...
- Definition Questions
What is the relationship and differences between processes and threads? A process usually represent ...
- calc 的使用
通常情况下,一个元素节点使用固定定位absolute和固定定位fixed,会遇到一个问题,如果设置100% ,此时你在对他设置padding,border,margin,它就会撑满 具体情况如下图:
- 弹窗插件layer
layer的插件的地址:http://layer.layui.com/简单使用: layer.open({ type: , //page层 area: ['500px', '300px'], titl ...
- C语言:其他进制数转换为十进制(方法一)
#include<stdio.h> #include<math.h> #include<string.h> //其他任意进制转换为十进制 int main() { ...
- 2.准备Python编译环境
2.准备Python编译环境 2.1下载Python2.7.6.tgz.ipython1.2.1.tgz.sqlite-autoconf-3071401.tar.gz 2.2安装Python2.7.6 ...
- 简单的apk Ionic
index.html <html> <head> <meta charset="utf-8"> <meta name="view ...
- Request.url请求路径的一些属性
Request.url请求路径的一些属性1,Request.UrlReferrer.AbsolutePath=获取URL的绝对路径例:"/Manager/Module/OfficialMan ...
- Python模块(json)
json json模块,用来处理json风格的数据 一.json的数据格式 json是javascripts的标准格式,json的格式是由若干个 键/值(key,values) 对的集合,该集合可以理 ...