`

JSON-lib转化JAVA对象为JSON格式字符串

    博客分类:
  • JSON
阅读更多

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字符串

    标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...

    json-lib-2.4-jdk15.jar

    3. **JSON到Java对象的反序列化**:反之,它也提供了将JSON字符串转化为Java对象的功能,例如`JSONObject.toBean()`和`JSONArray.toList()`方法,能够将JSON数据映射到Java对象或列表。 4. **XML和JSON之间的转换**...

    json-lib-2.2.3-jdk15.jar

    1. **数据转换**:它支持将Java的各种类型,如Map、List、数组、自定义对象等,转换成JSON格式的字符串。同样,也可以将JSON字符串解析为相应的Java对象。 2. **兼容性**:`-jdk15.jar`表明这个版本是为Java 1.5...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...

    json-lib-2.3.jar

    例如,如果你有一个Java的HashMap对象,你可以通过调用`JsonObject.fromObject(map)`将其转化为JSON格式,以便在网络中传输或者存储。这个方法使得开发者能够方便地将复杂的Java对象结构转化为易于理解的JSON字符串...

    json-lib-2.4-jdk15.jar及其相关依赖

    1. **Java Bean到JSON**: 只需传入一个Java Bean对象,`json-lib`就能将其转换为JSON格式的字符串。 2. **Map到JSON**: 对于包含键值对的数据结构,如HashMap,`json-lib`也能轻松将其转换为JSON对象。 3. **数组和...

    json-lib所用的jar包

    `json-lib`是一个Java库,它提供了一种将Java对象转换为JSON格式,以及将JSON数据还原为Java对象的能力。在Web开发中,这个功能非常重要,因为服务器端处理的数据需要以某种形式传递到客户端,JSON由于其简洁性和...

    json-lib 2.4 的 jar 包

    例如,一个User类的对象可以通过json-lib转化为JSON格式,便于在网络中传输或存储。 - 反序列化:将JSON字符串还原为Java对象。接收到JSON数据后,可以将其解析成对应的Java对象,便于进一步处理。 2. **支持的...

    ezmorph-1.0.6.jar和json-lib-2.2.2-jdk15.rar

    例如,当需要将数据库中的数据转换成JSON格式进行网络传输时,可以先用ezmorph将Java对象转换为合适的数据类型,再利用json-lib将这些转换后的数据转化为JSON字符串。 4. **标签解析**: - **ezmorph标签**:表示...

    json-lib api

    例如,一个Java的HashMap可以通过json-lib的API转化为JSON格式的字符串,便于在网络上传输或存储。 2. **反序列化**:将JSON字符串解析回对应的Java对象。这有助于将接收到的JSON数据还原为Java对象,以便进一步...

    json-lib之jar包,源代码及API文档

    JSON库在Java中扮演着重要角色,帮助开发者轻松地序列化和反序列化Java对象为JSON格式。这里我们关注的是`json-lib`,一个流行的Java JSON库。 `json-lib`是一个全面的JSON实现,它提供了多种Java接口和类来处理...

    json-lib 依赖jar

    2. 将JSON字符串转换为Java对象:反之,`JSONObject.toBean(JSONObject json)`可以将JSON对象转化为对应的Java bean。 3. 处理数组和集合:JSON-lib也支持JSON数组(JSONArray)和Java集合之间的转换,这对于处理...

    json-lib-2.4所需全部JAR包及方法演示

    描述中提到"包含各种类转json和json转java类的演示代码",意味着该压缩包不仅提供了库文件,还提供了一些实例,展示了如何将Java对象序列化为JSON字符串,以及如何将JSON字符串反序列化为Java对象。这对于理解如何...

    JSON-lib框架,转换JSON、XML不再困难

    1. **Java对象到JSON字符串**:使用`JSONSerializer`类的`toJSON`方法,将Java对象转换为JSON格式的字符串。 2. **JSON字符串到Java对象**:使用`JSONObject`或`JSONArray`的`fromObject`方法,将JSON字符串反序列...

    简单数据传输对象 json-lib 及源文件

    - **JSON到Java的反序列化**:接收JSON字符串并将其解析为对应的Java对象,便于在Java程序中使用这些数据。 - **多种版本支持**:由于描述中提到“多个版本都有”,这意味着JSON-Lib提供了不同版本的兼容性,以适应...

    json-lib-2.3-jdk15-sources javadoc .jar

    例如,可以将Java对象转化为JSON字符串,或者从JSON字符串反序列化回Java对象。 JSON-lib支持多种Java对象的转换,包括基本类型、数组、列表、集合、Map、日期等。它还提供了XML到JSON以及JSON到XML的转换功能,这...

    json-lib将json格式的字符串,转化为java对象的实例.docx

    ### JSON-Lib将JSON格式的字符串转化为Java对象的实例详解 #### 一、引言 在现代软件开发中,特别是Web应用开发过程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    json-lib-2.4-jdk15

    你可以使用 `fromObject()` 方法将Java对象转化为JSON格式,使用 `toObject()` 方法将JSON字符串反序列化为Java对象。 2. **Java对象与JSON之间的转换** - 对象转JSON:如果你有一个Java Bean或Map对象,你可以...

Global site tag (gtag.js) - Google Analytics