JSON-lib转化JAVA对象为JSON格式字符串 收藏
续上文
还有一种方法是用JSON-lib转化成JSON格式字符串,需要加入json-lib-2.2-jdk13.jar和5个类库:
commons-lang-2.0.jar
commons-io-1.3.2.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
ezmorph-1.0.4.jar
其中JSON-lib包可以到http://json-lib.sourceforge.net下载
如果用这种方法转化,则需要添加一个封装类:例如ListRange.java
下面是内容
view plaincopy to clipboardprint?
import java.util.ArrayList;
import java.util.List;
public class ListRange<T> {
boolean success;
String message;
long totalSize;
List<T> list;
public ListRange() {
this.totalSize = 0;
this.list = new ArrayList<T>();
}
public long getTotalSize() {
return totalSize;
}
public void setTotalSize(long totalSize) {
this.totalSize = totalSize;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
import java.util.ArrayList;
import java.util.List;
public class ListRange<T> {
boolean success;
String message;
long totalSize;
List<T> list;
public ListRange() {
this.totalSize = 0;
this.list = new ArrayList<T>();
}
public long getTotalSize() {
return totalSize;
}
public void setTotalSize(long totalSize) {
this.totalSize = totalSize;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
创建一个BaseAction.java
内容为:
view plaincopy to clipboardprint?
public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
public void outJsonString(String str) {
getResponse().setContentType("text/javascript;charset=UTF-8");
outString(str);
}
public void outJson(Object obj) {
outJsonString(JSONObject.fromObject(obj).toString());
}
public void outJsonArray(Object array) {
outJsonArray(JSONArray.fromObject(array).toString());
}
public void outString(String str) {
try {
PrintWriter out = getResponse().getWriter();
out.write(str);
} catch (IOException e) {
}
}
public void outXMLString(String xmlStr) {
getResponse().setContentType("application/xml;charset=UTF-8");
outString(xmlStr);
}
public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
public void outJsonString(String str) {
getResponse().setContentType("text/javascript;charset=UTF-8");
outString(str);
}
public void outJson(Object obj) {
outJsonString(JSONObject.fromObject(obj).toString());
}
public void outJsonArray(Object array) {
outJsonArray(JSONArray.fromObject(array).toString());
}
public void outString(String str) {
try {
PrintWriter out = getResponse().getWriter();
out.write(str);
} catch (IOException e) {
}
}
public void outXMLString(String xmlStr) {
getResponse().setContentType("application/xml;charset=UTF-8");
outString(xmlStr);
}
创建一个TestAction.java
内容为:
view plaincopy to clipboardprint?
public void select() {
// TODO Auto-generated method stub
response.setCharacterEncoding("gb2312");
ListRange<TestBean> stuList = new ListRange<TestBean>();
List<TestBean> list = TestDAO.getList();
stuList.setList(list);
stuList.setTotalSize(list.size());
outJson(stuList);
}
public void select() {
// TODO Auto-generated method stub
response.setCharacterEncoding("gb2312");
ListRange<TestBean> stuList = new ListRange<TestBean>();
List<TestBean> list = TestDAO.getList();
stuList.setList(list);
stuList.setTotalSize(list.size());
outJson(stuList);
}
index.jsp页面内容为:
view plaincopy to clipboardprint?
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="/ext2/resources/css/ext-all.css" mce_href="ext2/resources/css/ext-all.css" />
<mce:script type="text/javascript" src="/ext2/adapter/ext/ext-base.js" mce_src="ext2/adapter/ext/ext-base.js"></mce:script>
<mce:script type="text/javascript" src="/ext2/ext-all.js" mce_src="ext2/ext-all.js"></mce:script>
</head>
<body>
<mce:script type="text/javascript" ><!--
Ext.onReady(function(){
var store=new Ext.data.JsonStore({
url:"test!select.ph",
totalProperty: "totalSize",
root: "list",
fields:[{name:'id',mapping:'id'}, {name:'name',mapping:'name'},{name:'password',mapping:'password'}]
});
store.load();
var gird=new Ext.grid.GridPanel({
renderTo:"hello",
title:"欢迎登录",
height:150,
width:300,
columns:[
{header:"编号",dateindex:"id"},
{header:"账号",dateindex:"name"},
{header:"密码",dateindex:"password"}
],
store:store,
autoExpandColumn:2
})
})
// --></mce:script>
<div id="hello"> </div>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="/ext2/resources/css/ext-all.css" mce_href="ext2/resources/css/ext-all.css" />
<mce:script type="text/javascript" src="/ext2/adapter/ext/ext-base.js" mce_src="ext2/adapter/ext/ext-base.js"></mce:script>
<mce:script type="text/javascript" src="/ext2/ext-all.js" mce_src="ext2/ext-all.js"></mce:script>
</head>
<body>
<mce:script type="text/javascript" ><!--
Ext.onReady(function(){
var store=new Ext.data.JsonStore({
url:"test!select.ph",
totalProperty: "totalSize",
root: "list",
fields:[{name:'id',mapping:'id'}, {name:'name',mapping:'name'},{name:'password',mapping:'password'}]
});
store.load();
var gird=new Ext.grid.GridPanel({
renderTo:"hello",
title:"欢迎登录",
height:150,
width:300,
columns:[
{header:"编号",dateindex:"id"},
{header:"账号",dateindex:"name"},
{header:"密码",dateindex:"password"}
],
store:store,
autoExpandColumn:2
})
})
// --></mce:script>
<div id="hello"> </div>
</body>
</html>
就可以成功查询出数据了
今天开始研究这个代码,看了很久。参考了一个这样的例子,怎么弄的都没有弄出来还一直报错,后来看了一个资料书《Ext js Web应用程序开发指南》,最后在里面找到了答案,原来是我那5个类库没有导入,还有json-lib-2.2-jdk13.jar包没有导入
还有就是第一种方法,也是看了我很久不知道为什么不行,最后才注意到原来是<package name="teaweb" extends="json-default" namespace="/">这里的配置问题,终于弄出来了,感觉学到了不少东西 哈哈
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liu_moyan/archive/2009/12/01/4915786.aspx
个人签名
-------------------------------------
图盾 淘宝保护 保护图片 图片防盗
分享到:
相关推荐
标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...
3. **JSON到Java对象的反序列化**:反之,它也提供了将JSON字符串转化为Java对象的功能,例如`JSONObject.toBean()`和`JSONArray.toList()`方法,能够将JSON数据映射到Java对象或列表。 4. **XML和JSON之间的转换**...
1. **数据转换**:它支持将Java的各种类型,如Map、List、数组、自定义对象等,转换成JSON格式的字符串。同样,也可以将JSON字符串解析为相应的Java对象。 2. **兼容性**:`-jdk15.jar`表明这个版本是为Java 1.5...
在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...
例如,如果你有一个Java的HashMap对象,你可以通过调用`JsonObject.fromObject(map)`将其转化为JSON格式,以便在网络中传输或者存储。这个方法使得开发者能够方便地将复杂的Java对象结构转化为易于理解的JSON字符串...
1. **Java Bean到JSON**: 只需传入一个Java Bean对象,`json-lib`就能将其转换为JSON格式的字符串。 2. **Map到JSON**: 对于包含键值对的数据结构,如HashMap,`json-lib`也能轻松将其转换为JSON对象。 3. **数组和...
`json-lib`是一个Java库,它提供了一种将Java对象转换为JSON格式,以及将JSON数据还原为Java对象的能力。在Web开发中,这个功能非常重要,因为服务器端处理的数据需要以某种形式传递到客户端,JSON由于其简洁性和...
例如,一个User类的对象可以通过json-lib转化为JSON格式,便于在网络中传输或存储。 - 反序列化:将JSON字符串还原为Java对象。接收到JSON数据后,可以将其解析成对应的Java对象,便于进一步处理。 2. **支持的...
例如,当需要将数据库中的数据转换成JSON格式进行网络传输时,可以先用ezmorph将Java对象转换为合适的数据类型,再利用json-lib将这些转换后的数据转化为JSON字符串。 4. **标签解析**: - **ezmorph标签**:表示...
例如,一个Java的HashMap可以通过json-lib的API转化为JSON格式的字符串,便于在网络上传输或存储。 2. **反序列化**:将JSON字符串解析回对应的Java对象。这有助于将接收到的JSON数据还原为Java对象,以便进一步...
JSON库在Java中扮演着重要角色,帮助开发者轻松地序列化和反序列化Java对象为JSON格式。这里我们关注的是`json-lib`,一个流行的Java JSON库。 `json-lib`是一个全面的JSON实现,它提供了多种Java接口和类来处理...
2. 将JSON字符串转换为Java对象:反之,`JSONObject.toBean(JSONObject json)`可以将JSON对象转化为对应的Java bean。 3. 处理数组和集合:JSON-lib也支持JSON数组(JSONArray)和Java集合之间的转换,这对于处理...
描述中提到"包含各种类转json和json转java类的演示代码",意味着该压缩包不仅提供了库文件,还提供了一些实例,展示了如何将Java对象序列化为JSON字符串,以及如何将JSON字符串反序列化为Java对象。这对于理解如何...
1. **Java对象到JSON字符串**:使用`JSONSerializer`类的`toJSON`方法,将Java对象转换为JSON格式的字符串。 2. **JSON字符串到Java对象**:使用`JSONObject`或`JSONArray`的`fromObject`方法,将JSON字符串反序列...
- **JSON到Java的反序列化**:接收JSON字符串并将其解析为对应的Java对象,便于在Java程序中使用这些数据。 - **多种版本支持**:由于描述中提到“多个版本都有”,这意味着JSON-Lib提供了不同版本的兼容性,以适应...
例如,可以将Java对象转化为JSON字符串,或者从JSON字符串反序列化回Java对象。 JSON-lib支持多种Java对象的转换,包括基本类型、数组、列表、集合、Map、日期等。它还提供了XML到JSON以及JSON到XML的转换功能,这...
### JSON-Lib将JSON格式的字符串转化为Java对象的实例详解 #### 一、引言 在现代软件开发中,特别是Web应用开发过程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
你可以使用 `fromObject()` 方法将Java对象转化为JSON格式,使用 `toObject()` 方法将JSON字符串反序列化为Java对象。 2. **Java对象与JSON之间的转换** - 对象转JSON:如果你有一个Java Bean或Map对象,你可以...