`

2. Json-lib 和 Gson的对比

    博客分类:
  • Json
阅读更多
上一篇已经给大家介绍过json的表达方式,这一篇讲开始介绍如何在java中生成json。

1.用json-lib生成json

要用到的jar包:commons-beanutils-1.8.3.jar, commons-collections-3.2.1.jar, commons-lang-2.4.jar, commons-logging-1.1.1.jar, ezmorph-1.0.6.jar, json-lib-2.3-jdk15.jar

//1.对象
package com.hx.test;

import com.hx.entity.Person;

import net.sf.json.JSONObject;

public class JsonTest {

	public static void main(String[] args) {
		
		Person person = new Person();
		person.setName("tom");
		person.setAddress("UK");
		person.setAge(14);
		JSONObject json = JSONObject.fromObject(person);
		System.out.println(json.toString());
	}
}
//输出结果为:
//{"address":"UK","age":14,"name":"tom"}

//2.数组和集合
package com.hx.test;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONArray;

public class JsonTest {

	public static void main(String[] args) {
		
		List<String> fruit = new ArrayList<String>();
		
		fruit.add("apple");
		fruit.add("pear");
		fruit.add("orange");
		fruit.add("banana");
		
		JSONArray fruits = JSONArray.fromObject(fruit);
		
		System.out.println(fruits.toString());
	}
}
//输出结果:
//["apple","pear","orange","banana"]

//2)Map集合
//Map集合比较特殊,因为 key-value键值对的对应方式,所以咱们应当用JSONObject来生成json。
package com.hx.test;

import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

public class JsonTest {

	public static void main(String[] args) {
		
		Map<String, String> map = new HashMap<String, String>();
		
		map.put("001", "apple");
		map.put("002", "pear");
		map.put("003", "orange");
		map.put("004", "banana");
		
		JSONObject json = JSONObject.fromObject(map);
		
		System.out.println(json.toString());
	}
}
//输出结果:
//{"004":"banana","001":"apple","002":"pear","003":"orange"}

//3) Map集合扩展
package com.hx.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

public class JsonTest {

	public static void main(String[] args) {
		
		Map<String, List<String>> map = new HashMap<String, List<String>>();
		
		List<String> strList1 = new ArrayList<String>();
		
		strList1.add("aa");
		strList1.add("bb");
		strList1.add("cc");
		
		
		List<String> strList2 = new ArrayList<String>();
		
		strList2.add("dd");
		strList2.add("ee");
		strList2.add("ff");
		
		
		List<String> strList3 = new ArrayList<String>();
		
		strList3.add("gg");
		strList3.add("hh");
		strList3.add("ii");

		
		map.put("001", strList1);
		map.put("002", strList2);
		map.put("003", strList3);
		
		JSONObject json = JSONObject.fromObject(map);
		
		System.out.println(json.toString());
	}
}
//输出结果:
//{"001":["aa","bb","cc"],"002":["dd","ee","ff"],"003":["gg","hh","ii"]}


/*
  和json-lib相比,Gson操作就相当的更简单了
  不管是对象还是数组,还是上面较复杂的map集合,
  操作都是一样的,Gson是出自google,应为比较小巧,所以其自己系统android上面用的也      是这个。
*/

//因为操作都一样,所以在这里只给大家演示一种情况。
//别忘了导jar包:[i]gson-2.1.jar[/i]
package com.hx.test;

import com.google.gson.Gson;
import com.hx.entity.Person;

public class GsonTest {

	public static void main(String[] args) {
		
		Person person = new Person();
		
		person.setAddress("UK");
		person.setAge(14);
		person.setName("tom");
		
		Gson gson = new Gson();
		
		System.out.println(gson.toJson(person));
	}
}
//输出结果:
//{"name":"tom","age":14,"address":"UK"}


好了,关于json-lib和Gson就介绍到这里,下一篇介绍如何在java端,用servlet输出json。
0
3
分享到:
评论

相关推荐

    json-lib-2.4-jdk15.jar

    然而,随着技术的发展,虽然json-lib在当时是一个流行的JSON处理库,但现在已有其他更先进的替代品,如Gson、Jackson和Fastjson等,它们在性能、易用性和功能上都有所提升。因此,对于新项目来说,选择这些更新的库...

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

    然而,随着技术的发展,现在有许多其他的JSON库,如Jackson、Gson和org.json,它们在性能和功能上可能更优,因此在新的项目中,开发者可能会选择这些更新的替代品。 在使用`json-lib-2.3-jdk15`时,你需要确保正确...

    json-lib-2.2.3-jdk15.jar

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用...尽管现在有更现代的替代品如Gson、Jackson等,但在某些场景下,JSON-lib仍然是一个可靠的选择,特别是对于需要向后兼容的老项目。

    json-lib-2.2.2-jdk15.jar

    4. **性能优化**:虽然json-lib是一个强大的库,但在处理大量数据时,其性能可能不如其他更现代的库如Jackson或Gson。然而,对于小型项目或对性能要求不高的场景,json-lib仍是一个可行的选择。 在Android开发中,...

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

    在处理复杂的Java对象和大量的数据时,`json-lib`提供了一套完整的解决方案,但随着技术的发展,还有其他更现代的JSON库如Gson、Jackson和Fastjson等,它们在性能和易用性上可能更有优势。因此,在选择JSON库时,应...

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

    5. **性能优化**:尽管有其他更现代的JSON库如Gson和Jackson,json-lib-2.4依然因其简洁的API和相对较低的内存占用而受到一些开发者青睐。 在实际开发中,json-lib-2.4的使用通常涉及以下步骤: 1. **导入依赖**:...

    json-lib jar和所有依赖的jar

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

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

    `json-lib`库的使用使得Java开发者在处理JSON数据时更加便捷,但需要注意的是,随着Java生态的发展,现在更流行的是使用Jackson、Gson或Google的AutoValue库来处理JSON,它们提供了更多特性和更好的性能。...

    Java四大json库gson+fastjson+jackson+json-lib

    为了方便地处理JSON数据,Java社区提供了多个优秀的JSON库,包括Gson、Fastjson、Jackson和json-lib。这四大JSON库各有特点,适应不同的使用场景。 1. Gson: Gson是Google提供的一个开源库,它能够将Java对象转换...

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

    1. **Jackson或Gson库**:这两个是其他流行的JSON库,可能会被`json-lib`用作底层实现的一部分,提供JSON序列化和反序列化的功能。 2. **Eclipse Collections**:可能用于提供高效的数据结构,如集合和映射,用于...

    json-lib 2.4 的 jar 包

    虽然json-lib在早期Java开发中广泛应用,但现在有更现代的JSON库,如Jackson、Gson和org.json,它们在性能和功能上可能更具优势。例如,Jackson提供了更快的序列化和反序列化速度,而Gson则直接支持注解驱动的转换...

    json-lib-2.4 jar 程序文件

    7. **性能优化**:虽然JSON-Lib功能强大,但相比其他更现代的JSON库(如Jackson或Gson),其性能可能略低。因此,在性能敏感的应用中,可能需要权衡其便利性和效率。 总之,`json-lib-2.4 jar`为Java开发者提供了一...

    json-lib-2.4-jdk15所需要的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和服务器端...在现代的Java开发中,虽然有其他更现代的JSON库如Gson和Jackson,但`json-lib`仍然在一些遗留系统或特定场景下被使用。

    json-lib开发和依赖的所有jar包

    2. 对应的源码jar包:如果提供,可能是`json-lib-x.x.x-sources.jar`,供开发者查看和学习源代码。 3. 针对特定Java版本或环境的jar包:如`json-lib-x.x.x-jdk15.jar`,针对JDK 1.5编译,或者`json-lib-x.x.x-...

    json-lib-jdk.jar

    需要注意的是,虽然`json-lib`在过去被广泛应用,但随着技术的发展,现在更推荐使用如Gson、Jackson或Fastjson这样的现代JSON库,它们通常具有更好的性能和更丰富的功能。然而,对于一些老旧的项目或者需要与旧系统...

    json-lib 需要的所有jar包

    通常,这样的集合可能包括json-lib自身的jar,以及它依赖的其他库,如Jackson、Gson、org.json等,因为Json-lib可能利用了这些库的功能来实现其功能。 具体到这个压缩包,文件名为“json.jar”,这很可能是json-lib...

    json-lib包最新合集20170403整理

    这个"json-lib包最新合集20170403整理"包含了用于处理JSON的多个依赖库和相关资源。 首先,我们来看包含的文件: 1. `commons-collections-3.2.1.jar`:Apache Commons Collections是Java集合框架的一个扩展,提供...

    json.jar,gson.jar,json-lib及其依赖包

    JSON(JavaScript Object Notation)是一种轻量级的...`json.jar`、`gson.jar`和`json-lib`各有其特点,而`Junit.jar`则提供了强大的测试支持。了解并掌握这些库的用法,对于提升Java开发效率和代码质量非常有帮助。

    json-lib-2.4-jdk15

    虽然json-lib 是一个功能丰富的库,但随着技术的发展,后来出现了性能更优、功能更强的JSON库,如Gson、Jackson和Fastjson等。在选择使用时,应根据项目需求和性能要求进行评估。 7. **注意事项** 在实际使用中,...

    json-lib及依赖包

    2. `commons-collections.jar`:Apache Commons Collections库,提供了一系列实用的集合框架扩展,如更强大的映射、列表和堆栈实现,这对`json-lib`处理数据结构时非常有用。 3. `commons-lang-2.4.jar`:Apache ...

Global site tag (gtag.js) - Google Analytics