`
123003473
  • 浏览: 1060020 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Json-lib 跟 Gson的对比

    博客分类:
  • java
 
阅读更多
2. Json-lib 和 Gson的对比
上一篇已经给大家介绍过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包:gson-2.1.jar
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-2.4-jdk15.jar

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

    json-lib jar和所有依赖的jar

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

    json-lib-2.2.3-jdk15.jar

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

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

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

    json-lib-2.2.2-jdk15.jar

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

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

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

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

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

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

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

    json-lib 2.4 的 jar 包

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

    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 jar 程序文件

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

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

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

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

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

    json-lib 需要的所有jar包

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

    json-lib-jdk.jar

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

    json-lib-2.1-jdk15.jar

    然而,随着时间的发展,json-lib的更新相对较慢,社区支持可能不如其他更现代的JSON库如Gson或Jackson活跃。这些新库提供了更多特性,比如类型安全的转换、注解支持以及更高效的性能。 总的来说,"json-lib-2.1-jdk...

    json-lib及依赖包

    JSON(JavaScript ...然而,随着技术的发展,现在有许多其他流行的JSON库,如Gson、Jackson和Fastjson,它们在性能和易用性方面可能更具优势。在选择JSON库时,开发者应根据项目需求、性能要求和团队熟悉度来决定。

    json-lib-2.4-jdk15源码和jar包

    然而,随着技术的发展,现代的Java项目可能更倾向于使用像Gson、Jackson或Fastjson这样的更现代化的JSON库,它们提供了更多的特性和更高的性能。但是,`json-lib`仍然在一些旧项目或特定需求的场景下发挥着作用。

    json-lib包最新合集20170403整理

    它提供了多种方式(包括使用JAXB、Ezmorph、Jackson、Gson等)来将Java对象转换为JSON,反之亦然。 5. `ezmorph-1.0.6.jar`:Ezmorph是一个Java库,主要用于对象之间的类型转换,对于json-lib来说,它可能用于处理...

    最新json-lib及其依赖库包.rar

    这些依赖库可能包括如Jackson、Gson等其他JSON处理库,或者是与数据序列化、网络通信相关的库,它们确保了json-lib功能的完整性和稳定性。 5. **更新的重要性**:描述中提到这是从官网下载的最新版本,这意味着它...

Global site tag (gtag.js) - Google Analytics