`
log_cd
  • 浏览: 1098510 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

json-lib使用

阅读更多
一、资源链接:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/
http://www.json.org/javadoc/org/json/package-summary.html

二、例子
public class JsonUtil {
	/**
	 * 从一个JSON 对象字符格式中得到一个java对象 说明:Bean的无参构造函数一定要写, 否则会报:
	 * net.sf.json.JSONException: java.lang.NoSuchMethodException
	 * 
	 * @param jsonString
	 * @param pojoCalss
	 * @return
	 */
	public static Object getObjectFromJsonString(String jsonString,
			Class pojoCalss) {
		Object pojo;
		JSONObject jsonObject = JSONObject.fromObject(jsonString);
		pojo = JSONObject.toBean(jsonObject, pojoCalss);
		return pojo;
	}

	/**
	 * 将java对象转换成json字符串
	 * 
	 * @param javaObj
	 * @return
	 */
	public static String getJsonStringFromObject(Object javaObj) {
		JSONObject json;
		json = JSONObject.fromObject(javaObj);
		return json.toString();
	}

	/**
	 * 从json HASH表达式中获取一个map
	 * 
	 * @param jsonString
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public static Map getMapFromJsonString(String jsonString) {
		JSONObject jsonObject = JSONObject.fromObject(jsonString);
		Iterator keyIter = jsonObject.keys();
		String key;
		Object value;
		Map valueMap = new HashMap();
		while (keyIter.hasNext()) {
			key = (String) keyIter.next();
			value = jsonObject.get(key);
			valueMap.put(key, value);
		}
		return valueMap;
	}

	/**
	 * 从Map对象得到Json字串
	 * 
	 * @param map
	 * @return
	 */
	public static String getJsonStringFromMap(Map map) {
		JSONObject json = JSONObject.fromObject(map);
		return json.toString();
	}

	/**
	 * 从json字串中得到相应java数组
	 * 
	 * @param jsonString
	 *            like "[\"李斯\",100]"
	 * @return
	 */
	public static Object[] getObjectArrayFromJsonString(String jsonString) {
		JSONArray jsonArray = JSONArray.fromObject(jsonString);
		return jsonArray.toArray();
	}

	/**
	 * 将list转换成Array
	 * 
	 * @param list
	 * @return
	 */
	public static Object[] getObjectArrayFromList(List list) {
		JSONArray jsonArray = JSONArray.fromObject(list);
		return jsonArray.toArray();
	}

	/**
	 * 用JSONStringer构造一个JsonString
	 * 
	 * @param m
	 * @return
	 */
	public static String buildJsonString(Map m) {
		JSONStringer stringer = new JSONStringer();
		stringer.object();
		for (Object key : m.keySet()) {
			stringer.key((String) key)
				.value((String)m.get(key));
		}
		stringer.key("phone");
		//begin nesting a array
		stringer.array();
		stringer.value("13998098000");
	    stringer.value("8765432");
	    //nestring object in array
	    stringer.object();
	    stringer.key("ppcall");
	    stringer.value(53881); 
	    stringer.endObject();
	    stringer.value("13990980980");
	    //end nesting a array
	    stringer.endArray();
	    
		stringer.endObject();
		return stringer.toString();
	}

	public static void printMap(Map map) {
		for (Object key : map.keySet()) {
			System.out.println(key + ":" + map.get(key));
		}
	}

	public static void main(String[] args) {
		Map m = new HashMap() {
			{
				put("JSon", "HelloWorld");
				put("Flex", "Ok");
			}
		};
		System.out.println(buildJsonString(m));
		System.out
				.println(new JSONStringer().object().key("JSON").value(
						"Hello, World!").key("Flex").value("OK").endObject()
						.toString());
	}
}

说明:json依赖包(commons-collections.jar,commons-lang-2.X.jar,ezmorph-1.0.X.jar)
分享到:
评论

相关推荐

    json-lib-2.4-jdk15.jar下载

    json-lib-2.4-jdk15.jar下载,json-lib是一款简单易用的Java JSON库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 ...

    json-lib-2.2.3-jdk15.jar

    5. **依赖管理**:`json-lib-2.2.3-jdk15.jar`可能包含了其运行所需的其他依赖库,这使得开发者在使用时无需额外配置这些依赖,简化了项目的构建过程。 6. **多平台支持**:作为Java库,JSON-lib可以运行在任何支持...

    json-lib-2.4-jdk15和全部依赖jar包

    `json-lib-2.4-jdk15`是JSON库的一个特定版本,专为JDK 1.5设计,确保在该环境下能够正常运行。 `json-lib`库主要包含以下组件和功能: 1. **JSON转换**:`json-lib`提供了将Java对象如Map、List、自定义类等转换...

    json-lib-2.4-jdk15.jar

    json-lib-2.4-jdk15.jar是json-lib的一个特定版本,适用于JDK 1.5环境。这个版本的库包含了一系列API和实现,使得开发人员能够无缝地在Java应用中使用JSON。它支持多种Java对象类型,包括Map、List、Set、自定义Java...

    json-lib-2.2.2-jdk15.jar

    json-lib-2.2.2-jdk15.jar是JSON库的一个版本,特别针对Java 1.5(JDK 1.5)进行了优化。这个压缩包包含了json-lib库的二进制文件,用于在Android和Java平台上解析和生成JSON数据。尽管这个版本是针对JDK 1.5,但...

    json-lib-2.4和相应的依赖包

    在实际开发中,json-lib-2.4的使用通常涉及以下步骤: 1. **导入依赖**:将json-lib-2.4的jar包添加到项目的类路径中,或者在Maven或Gradle等构建工具中声明依赖。 2. **创建JSON对象**:使用`...

    json-lib-2.3-jdk15开发包和所有依赖包

    `json-lib-2.3-jdk15`是这个库的一个特定版本,兼容JDK 1.5,这意味着它可以在运行JDK 1.5或更高版本的Java环境中使用。 在Java开发中,`json-lib`库提供了以下关键功能: 1. **JSON对象的创建与解析**:通过`...

    json-lib应用所有jar

    综上所述,JSON-lib作为一个强大的Java JSON处理库,极大地简化了JSON在Java开发中的使用。无论是在简单的数据交换还是复杂的数据结构处理中,都能发挥出其高效、灵活的特点。如果你正在寻找一个可靠的Java JSON解决...

    json-lib-2.3.jar

    json-lib-2.3.jar是这个库的一个版本,用于支持将Java对象转换成JSON格式和将JSON数据反序列化为Java对象。 标题中提到的"json-lib-2.3.jar"是json-lib库的一个具体实现,主要包含了一系列处理JSON的类和方法。这个...

    json-lib jar和所有依赖的jar

    在文件列表中的"jsonlib需要jar包",这可能是指包含了`json-lib`库及其所有依赖的JAR文件。在实际项目中,将这些JAR文件添加到项目的类路径(classpath)中,就可以使用`json-lib`提供的功能,而无需通过Maven或其他...

    使用json-lib实现json与Java对象的互转

    要使用 `json-lib` 实现 JSON 与 Java 对象的互转,首先需要在项目中引入该库。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加如下依赖: ```xml <groupId>net.sf.json-lib</groupId> <artifactId>json-lib...

    json-lib-2.4-jdk15及其依赖jar包

    JSON-Lib-2.4-jdk15是JSON-Lib的一个特定版本,它针对JDK 1.5进行了优化,以适应该版本的Java环境。这个库包含了处理JSON的多种功能,包括将Java对象转换为JSON字符串,以及将JSON文本解析回相应的Java对象。这对于...

    JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包

    标题中的"json-lib-0.8.jar"和"json-lib-0.9.jar"代表了JSON-lib的不同版本。每个版本可能包含一些新特性、修复的错误或者性能改进。例如,从0.8到0.9的升级,可能意味着开发团队已经对库进行了一些优化,增加了新的...

    json-lib-2.4-jdk13对应jar包大全

    在这个“json-lib-2.4-jdk13对应jar包大全”中,包含了以下6个关键的jar包,它们是json-lib运行和功能完整的必要组成部分: 1. **commons-collections-3.2.2.jar**:Apache Commons Collections库提供了对集合框架...

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

    标题中的"ezmorph-1.0.6.jar"和"json-lib-2.2.2-jdk15.rar"指的是两个不同的Java库,用于处理数据转换和JSON操作。ezmorph是一个Java库,提供了对象到对象的转换功能,而json-lib是另一个库,专门用于处理JSON...

    json-lib-2.4-jdk15及其依赖包

    1、json的核心包:json-lib-2.4-jdk15.jar; 2、json-lib-2.4-jdk15.jar依赖的jar包:commons-beanutils-1.9.3.jar,commons-collections-3.2.2.jar,commons-lang-2.6.jar,commons-logging-1.2.jar,ezmorph-1.0.6...

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

    `json-lib-2.4-jdk15.jar`是这个库的一个特定版本,适用于JDK 1.5环境。 在Java开发中,`json-lib`库提供了多种将Java对象序列化为JSON字符串的方法,包括: 1. **Java Bean到JSON**: 只需传入一个Java Bean对象,...

    json-lib-2.4 jar 程序文件

    在使用`json-lib-2.4 jar`之前,需要将其添加到项目的类路径中。这通常通过在构建工具(如Maven或Gradle)的依赖管理中配置相关依赖来完成,或者将jar文件复制到项目lib目录并手动设置。对于不使用构建工具的项目,...

    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.4 的 jar 包

    通过引入`json-lib-2.4-jdk15.jar`,开发者可以在项目中轻松地集成JSON操作。 1. **JSON对象与Java对象的转换:** - 序列化:将Java对象转换为JSON字符串。例如,一个User类的对象可以通过json-lib转化为JSON格式...

Global site tag (gtag.js) - Google Analytics