注意:List中只有存放的是相应的Java对象,才能正确转换成json、xml格式
1、核心
2、Total.java
1、核心
- package com.dreamoa.util;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import com.dreamoa.domain.Menu;
- import com.thoughtworks.xstream.XStream;
- import com.thoughtworks.xstream.io.xml.DomDriver;
- import net.sf.json.JSONObject;
- /**
- * 数据转换工具类,用于将单个对象、List转换为json、xml格式的字符串
- */
- public class ExtUtil {
- /**
- * 将list对象转换为json格式的数据
- * @param totalNum,记录总数
- * @param inList,需要转换的list
- * @return
- */
- public static String getJsonFromList(long totalNum,List inList){
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("totalNum", inList.size());
- map.put("resultList", inList);
- JSONObject jsonObj = JSONObject.fromObject(map);
- return jsonObj.toString();
- }
- /**
- * 将单个对象转换为json格式,此对象不能为集合类型
- * @param inObject
- * @return
- */
- public static String getJsonFromObject(Object inObject){
- JSONObject jsonString = JSONObject.fromObject(inObject);
- return jsonString.toString();
- }
- /**
- * 将List转化为xml格式的数据
- * @param totalNum
- * @param inList,需要转换的list
- * @return String
- */
- public static String getXmlFromList(long totalNum,List inList){
- Total total = new Total();
- total.setTotalNum(totalNum);
- //创建临时的List对象
- List results = inList;
- results.add(total);
- //创建XStream对象
- XStream xs = new XStream(new DomDriver());
- //为所有的类创建别名,别名为不包含包名的类名
- for (int i = 0; i < results.size(); i++) {
- Class clzz = results.get(i).getClass();
- //得到全限定类名
- String fullName = clzz.getName();
- //以"."分割字符串
- String [] temp = fullName.split("\\.");
- xs.alias(temp[temp.length-1], clzz);
- }
- String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xs.toXML(results);
- return xmlString;
- }
- /**
- * 将一个Object对象转化为xml格式输出
- * @param object
- * @return
- */
- public static String getXmlFromObject(Object object){
- XStream xs = new XStream(new DomDriver());
- Class clazz = object.getClass();
- String [] temp = clazz.getName().split("\\.");
- xs.alias(temp[temp.length-1], clazz);
- String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xs.toXML(object);
- return xmlString;
- }
- /**
- * 将对象转换为表单数据加载需要的格式
- * @param object
- * @return
- */
- public static String getLoadFormData(Object object){
- return "";
- }
- public static void main(String[] args) {
- Menu menu = new Menu();
- menu.setName("name");
- menu.setParentid("123");
- Menu menu2 = new Menu();
- menu2.setName("name2");
- menu2.setParentid("1233");
- List inList = new ArrayList();
- inList.add(menu);
- inList.add(menu2);
- System.out.println(ExtUtil.getXmlFromList(inList.size(), inList));
- }
- }
2、Total.java
- package com.hf.sfm.util;
- import java.util.List;
- /**
- * 将List转化为xml时getXmlFromList(),用来存放记录总数
- * @author Administrator
- *
- */
- public class Total {
- private long totalNum;//记录总数
- private List resultList;//要转换的List,也是转换后的结果集名称
- public long getTotalNum() {
- return totalNum;
- }
- public void setTotalNum(long totalNum) {
- this.totalNum = totalNum;
- }
- public List getResultList() {
- return resultList;
- }
- public void setResultList(List resultsList) {
- this.resultList = resultsList;
- }
- }
相关推荐
接下来,我们来看两个工具类,`JsonUtil` 和 `JsonListUtil`,它们分别处理JSON字符串与单个Java对象以及List的转换。 1. **JsonUtil**: 这个工具类包含两个方法,`getObject` 和 `getJson`。 - `getObject`: 将...
例如,`DateEditor` 类继承自 `PropertyEditorSupport`,用于将JSON中的日期字符串转换为Java的日期对象。这个编辑器会检查输入的文本是否为null,如果设置为将null转换为空字符串,则会将其设置为空字符串,否则...
在Action类中,你可以定义一个结果类型为"json"的返回值,然后将你需要转换为JSON的对象放入value栈,Struts2会自动处理这个对象并将其转换为JSON字符串。 例如,如果你要返回一个单个字符,你可以在Action类中定义...
首先,通过JSONArray类的静态方法fromObject将Java对象列表转换为JSONArray对象,然后通过调用JSONArray对象的toString方法可以将JSON数组转换为字符串形式,以便于传输或存储。这种方法在Web应用中尤其有用,比如在...
JsonPath是一种用于从JSON文档中提取数据的语言,其语法与XPath在XML文档中的操作非常相似。XPath是XML处理中常用的一种路径表达式语言,而JsonPath则是为JSON数据设计的查询语言。在Java开发中,处理JSON格式的数据...
- **XML对象和XMLList对象**:这些类提供了一种灵活的方式来处理和操作XML数据。 - **初始化XML变量**:如何创建XML对象并初始化它们。 - **组合和变换XML对象**:如何合并、拆分和修改XML数据。 - **遍历XML结构**...
使用`URLLoader`类可以从网络上加载XML文档,并将其转换为`XML`对象。 **在ActionScript中使用XML的示例:从Internet加载RSS数据** 本示例展示了如何使用`URLLoader`从互联网上下载RSS订阅源,并使用E4X来解析和...
- **返回单个字符串**:通过`returnMsg`方法返回字符串"成功返回单个值"。 - **返回UserInfo对象**:通过`returnUser`方法返回一个包含用户名、密码等信息的`UserInfo`对象。 - **返回List对象**:通过`return...
- **XMLList对象**:`XMLList` 类用来处理XML文档中的节点列表。 - **初始化XML变量**:可以使用XML字面量或通过 `new XML()` 来初始化XML变量。 - **组合和变换XML对象**:通过E4X提供的操作符和方法可以方便地...
这里定义了三个方法,分别用于返回字符串、对象以及对象列表。 ##### 3. 配置文件设置 在Struts2中,配置文件(通常是`struts.xml`)用于定义Action的映射和结果处理方式。为了支持JSON输出,我们需要进行以下配置...
当你需要将JSON字符串解析为一个List时,可以使用`JSONArray`类的`fromObject`方法将JSON字符串转化为`JSONArray`对象,然后通过`toCollection`方法将其转化为List: ```java String jsonString = "{\"list\":[{\...
它能将Java对象转换为JSON字符串,也能将JSON内容转换为对应的Java对象。Fastjson的使用非常简单且高效,使得数据交换和序列化变得更加便捷。Fastjson的特性包括: 1. **快速**:Fastjson在性能上优于其他同类库,...
GSON是Google开发的一个用于Java语言的开源库,它提供了一种简单的方法将Java对象转换为JSON格式的字符串(序列化)以及将JSON格式字符串转换回Java对象(反序列化)。GSON库广泛用于网络数据交换格式的转换,例如与...
// 返回单个字符串消息 public String returnMsg() { this.message = "成功返回单个值"; return SUCCESS; } // 返回单个UserInfo对象 public String returnUser() { userInfo = new UserInfo(); userInfo....
字符串转化为输入流** ```java String str = "hello world"; InputStream is = new ByteArrayInputStream(str.getBytes()); ``` **9. 字符集编码及其特点** - **ASCII**: 7位编码,仅支持英文字符。 - **UTF-8**...
- 常见数据类型包括整型(int)、浮点型(float)、布尔型(bool)、字符串(str)、列表(list)、元组(tuple)、字典(dict)、集合(set)。 - 变量声明:Python中无需显式声明变量类型,通过赋值自动识别。 - **字符串和编码*...
但当使用`JSON.stringify()`方法将数据转换为JSON字符串后,应该将Content-Type设置为`application/json`。 #### 总结 通过上述内容,可以了解到在Jquery中使用Ajax方法向后端Action传递数据的多种方式和注意事项...
1. **XML序列化**:使用`XmlSerializer`类,你可以将对象转换为XML字符串或从XML字符串反序列化回对象。例如: ```csharp using System.IO; using System.Xml.Serialization; public class MyObject { public ...
模拟CMS,可以将List转换为JSON,这通常通过Servlet实现,Servlet将List转换成JSON字符串供前端使用。 2. **参数传递**: 如果参数过多,可以封装成一个对象传递,提高代码可读性和可维护性。例如,创建一个包含...
Xamarin提供了Json.NET库,可以方便地将JSON字符串转化为C#对象。假设返回的数据是JSON格式,且包含一个名为`Items`的数组,我们可以这样处理: ```csharp var jsonData = await GetDataFromApi(apiUrl); var items...