`
yaodaqing
  • 浏览: 349488 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JAVABean_XML_JSON相互转换

阅读更多
package com.yaodaqing.json.test;

import net.sf.json.JSON;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

/**
 * JAVABean_XML_JSON相互转换
 * 
 * @author 姚大庆
 *
 * 2012年4月23日11:24:48
 */
public class JAVABean_XML_JSON {
	
	public static void main(String args[]) {
		// javaToJSON();
		// jsonToJAVA();
		// jsonToXML();
		// javaBeanToJSON();
		// javaBeanToXML();
		// xmlToJSON();
		 jsonToJAVABean();
		// xmlToJAVABean();
	}
	
	/**
	 * JSON格式转JAVA
	 */
	public static void jsonToJAVA() {
		System.out.println("json字符串转java代码");
		String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
		JSONObject jsonObj = JSONObject.fromString(jsonStr);
		String username = jsonObj.getString("username");
		String password = jsonObj.optString("password");
		//在这里一个属性一个属性的设置到JAVABean中
		System.out.println("json--->java\n username=" + username + "\t password=" + password);
	}

	/**
	 * JSON格式转XML格式
	 */
	public static void jsonToXML() {
		System.out.println("json字符串转xml字符串");
		String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
		JSONObject json = JSONObject.fromString(jsonStr);
		XMLSerializer xmlSerializer = new XMLSerializer();
		xmlSerializer.setRootName("user_info");
		xmlSerializer.setTypeHintsEnabled(false);
		String xml = xmlSerializer.write(json);
		System.out.println("json--->xml \n" + xml);
	}
	
	/**
	 * JSON格式直接转JAVABean
	 */
	@SuppressWarnings("static-access")
	public static void jsonToJAVABean(){
		String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
		JSONObject jsonObj = JSONObject.fromString(jsonStr);
		UserInfo user = (UserInfo) jsonObj.toBean(jsonObj,UserInfo.class);
		System.out.println(user.getPassword());
		System.out.println(user.getUsername());
	}

	/**
	 * XML文件转JSON格式
	 */
	public static void xmlToJSON() {
		System.out.println("xml字符串转json字符串");
		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><user_info><password>123456</password><username>张三</username></user_info>";
		JSON json = XMLSerializer.read(xml);
		System.out.println("xml--->json \n" + json.toString());
	}
	
	/**
	 * XML直接转JAVABean
	 */
	public static void xmlToJAVABean(){
		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><user_info><password>123456</password><username>张三</username></user_info>";
		System.out.println("xml=="+xml);
		JSON json = XMLSerializer.read(xml);
		JSONObject jsonObj = JSONObject.fromString(json.toString());
		System.out.println("json=="+json.toString());
		UserInfo user = (UserInfo) jsonObj.toBean(jsonObj,UserInfo.class);
		System.out.println(user.getPassword());
		System.out.println(user.getUsername());
	}
	
	/**
	 * JAVABean转JSON格式
	 */
	public static void javaBeanToJSON() {
		System.out.println("javabean转json字符串");
		UserInfo userInfo = new UserInfo();
		userInfo.setUsername("张三");
		userInfo.setPassword("123456");
		JSONObject json = JSONObject.fromBean(userInfo);
		System.out.println("javabean--->json \n" + json.toString());
	}
	
	/**
	 * JAVABean转XML格式
	 */
	public static void javaBeanToXML() {
		System.out.println("javabean转xml字符串");
		UserInfo userInfo = new UserInfo();
		userInfo.setUsername("张三");
		userInfo.setPassword("123456");
		JSONObject json = JSONObject.fromBean(userInfo);
		XMLSerializer xmlSerializer = new XMLSerializer();
		String xml = xmlSerializer.write(json, "UTF-8");
		System.out.println("javabean--->xml \n" + xml);
	}

	/**
	 * JAVA转JSON格式
	 */
	public static void javaToJSON() {
		System.out.println("java代码封装为json字符串");
		JSONObject jsonObj = new JSONObject();
		jsonObj.put("username", "张三");
		jsonObj.put("password", "123456");
		System.out.println("java--->json \n" + jsonObj.toString());
	}

	/**
	 * JSON 格式转 List
	 */
	@SuppressWarnings("rawtypes")
	public static List jsonToListObject(String jsonString, Class clazz) {
		List lists = new ArrayList();
		JSONArray jsonArray = JSONArray.fromObject(jsonString);
		// Object[] obj = new Object[jsonArray.length()];
		for (int i = 0; i < jsonArray.length(); i++) {
			JSONObject jsonObject = jsonArray.getJSONObject(i);
			// obj[i] = JSONObject.toBean(jsonObject, clazz);
			lists.add(JSONObject.toBean(jsonObject, clazz));
		}
		return lists;
	}

	/**
	 * List 格式转 JSON
	 */
	//ObjectTest是自己定义的一个javabean,输出部分的属性都是JAVABean中的
	List ot = jsonToListObject(jsonString, ObjectTest.class);
	JSONObject jo = new JSONObject();
	jo.put("jo", ot);
	System.out.println(jo.toString());
	//输出格式是:{"jo":[{"val":2.51,"name":"苏EA0002","mark":"high"},{"val":2.32,"name":"苏EA0001","mark":"low"},{"val":2.18,"name":"苏EA0003","mark":"low"}]}
}


package com.yaodaqing.json.test;

public class UserInfo {
	
	public String username;
	public String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

  • lib.rar (973.6 KB)
  • 下载次数: 13
分享到:
评论
1 楼 xianjoong 2012-10-16  
您好,代码有误,能提供下源码下载吗?谢谢!

相关推荐

    XStream在JavaBean与XML/JSON 之间相互转换

    **XStream:JavaBean与XML/JSON之间的转换大师** XStream是一个开源库,它为Java对象提供了简单且直观的XML序列化和反序列化的解决方案。它不仅能够将Java对象转换成XML,反之亦然,还能支持JSON格式的转换。这个...

    javabean_map_string和json互转详细文档+例子

    JavaBean和Map以及String与JSON之间的转换在Java开发中是非常常见的操作。这涉及到Java对象的序列化和反序列化,通常用于数据交换或持久化存储。以下是对这些转换的详细解释和示例。 1. JavaBean到JSON JavaBean是...

    JavaBean-xml-Json转换

    XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar

    xml与json、javabean的互相转换

    同样,使用Jackson库,我们可以使用`JsonNode`对象的`toPrettyString()`方法将JSON转换为XML: ```java import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; ...

    javaBean 与 xml 互转

    本文将深入探讨这一主题,介绍如何通过工具类实现JavaBean到XML以及XML到JavaBean的转换。 首先,JavaBean是一种遵循特定规则的Java类,它通常代表业务对象,具有getter和setter方法,用于封装数据。而XML...

    json、javaBean、xml互转的几种工具介绍

    XStream还支持JSON转换,但默认不是启用的,需要额外配置。 5. **Apache Commons BeanUtils** Apache Commons BeanUtils是Apache软件基金会的一个项目,提供了一套方便的JavaBean操作工具。虽然它主要用于Bean...

    xml解析及使用XStream实现javaBean与xml之间的转换

    4. **XStream与JSON转换** XStream不仅支持XML,还内置了对JSON的支持。只需添加额外的转换器,如使用Jettison库,即可实现JavaBean与JSON的转换。 5. **实战演示** 在`xmlAnalysis`文件夹中,可能包含了一个简单...

    javaBean to json java对象转换json jar

    在本案例中,`myJson.jar`很可能包含了实现JavaBean到JSON转换的类和相关依赖。 总结来说,`javaBean to json java对象转换 jar`这个主题涉及到Java对象的序列化、JSON数据格式以及Java的归档文件系统。通过使用...

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

    JSON-lib是一个Java库,用于处理JSON(JavaScript Object Notation)和XML之间的转换。这个框架使得在Java应用程序中处理这两种数据格式变得简单。JSON是一种轻量级的数据交换格式,被广泛用于Web服务和前后端交互,...

    java持久化工具类:JavaBean与XML

    DWR(Direct Web Remoting)是一个JavaScript和Java之间的通信库,可以将JavaBean对象透明地转换为JSON或XML,用于AJAX交互。 4. **配置文件**:许多Java应用使用XML文件存储配置信息,JavaBean可以用来封装这些...

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

    ### JSON-lib框架详解:转换JSON、XML不再困难 #### 一、概述 JSON-lib是一个用于Java平台的强大且灵活的库,它可以实现Java对象与JSON、XML格式数据之间的互相转换。对于那些希望在Java应用程序中轻松处理JSON或...

    java根据xml生成schema_xsd_生成javabean

    1. XML到XSD的转换:XML文档可以被转化为XSD文件,以定义其结构和数据类型。这个过程通常通过工具完成,比如`trang.jar`,这是一个开源的RNG到其他Schema语言的转换工具。在本例中,可能使用了`trang.jar`将一个XML...

    通过fastjson实现各种格式与json之间的转换

    通过fastjson实现了JavaBean,list&lt;JavaBean&gt;,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar

    json转xml所需jar包

    这个压缩包包含了将JSON转换为XML所需的一些关键Java库,这些库可以帮助开发者实现这个功能。以下是对压缩包中每个文件的详细介绍: 1. `commons-collections-3.2.1.jar`:这是Apache Commons Collections库的一个...

    xmljson生成实体类

    标题“xmljson生成实体类”指的是一个工具,它可以自动化地将XML或JSON格式的数据转换为Java实体类。这种工具通常会分析XML或JSON结构,然后自动生成对应的Java类,这些类包含了与原始数据相对应的属性和getter/...

    jackson操作json和javabean示例

    6. **示例代码**:项目中的示例代码会涵盖各种使用场景,如简单的JavaBean到JSON的转换,复杂类型(如集合和自定义类型)的序列化,以及如何利用流式API处理大文件。通过阅读和运行这些示例,开发者可以快速掌握...

    Xstream操作Xml与Json.doc

    Xstream 是一个 Java 库,用于处理 XML 文件的序列化和反序列化,同时也支持将 JavaBean 转换为 JSON 格式。它的核心理念是通过简单的 API 设计,使得 XML 序列化过程变得简洁,无需额外的映射文件或辅助类。 ### 1...

    16_尚硅谷_JSON、Aajx、i18n1

    JSON 在 Java 中的使用可以使用 JavaBean 和 JSON 的互转、List 和 JSON 的互转、Map 和 JSON 的互转等方式来实现。 项目实践 使用 Ajax 验证用户名是否可用、使用 Ajax 请求修改购物车、添加商品、修改数量等项目...

    JSON-lib

    4. **XML到JSON**:除了处理Java对象,JSON-lib还提供了一个实用的功能,可以将XML转换为JSON。这在需要在XML和JSON之间互换数据时非常有用。可以使用`net.sf.json.JSONObject.fromXML(String xml)`方法完成这一操作...

    json-lib-2.4-jdk15.jar所需全部JAR包_JSON_

    5. **XML解析库**:如Apache Xerces或JDOM,可能用于处理与XML相关的部分,因为JSON有时可以与XML相互转换。 6. ** Logging框架**:如log4j或commons-logging,用于日志记录,帮助调试和诊断问题。 在使用`json-lib...

Global site tag (gtag.js) - Google Analytics