上一篇已经给大家介绍过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。
分享到:
相关推荐
然而,随着技术的发展,虽然json-lib在当时是一个流行的JSON处理库,但现在已有其他更先进的替代品,如Gson、Jackson和Fastjson等,它们在性能、易用性和功能上都有所提升。因此,对于新项目来说,选择这些更新的库...
然而,随着技术的发展,现在有许多其他的JSON库,如Jackson、Gson和org.json,它们在性能和功能上可能更优,因此在新的项目中,开发者可能会选择这些更新的替代品。 在使用`json-lib-2.3-jdk15`时,你需要确保正确...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用...尽管现在有更现代的替代品如Gson、Jackson等,但在某些场景下,JSON-lib仍然是一个可靠的选择,特别是对于需要向后兼容的老项目。
4. **性能优化**:虽然json-lib是一个强大的库,但在处理大量数据时,其性能可能不如其他更现代的库如Jackson或Gson。然而,对于小型项目或对性能要求不高的场景,json-lib仍是一个可行的选择。 在Android开发中,...
在处理复杂的Java对象和大量的数据时,`json-lib`提供了一套完整的解决方案,但随着技术的发展,还有其他更现代的JSON库如Gson、Jackson和Fastjson等,它们在性能和易用性上可能更有优势。因此,在选择JSON库时,应...
5. **性能优化**:尽管有其他更现代的JSON库如Gson和Jackson,json-lib-2.4依然因其简洁的API和相对较低的内存占用而受到一些开发者青睐。 在实际开发中,json-lib-2.4的使用通常涉及以下步骤: 1. **导入依赖**:...
在文件列表中的"jsonlib需要jar包",这可能是指包含了`json-lib`库及其所有依赖的JAR文件。在实际项目中,将这些JAR文件添加到项目的类路径(classpath)中,就可以使用`json-lib`提供的功能,而无需通过Maven或其他...
`json-lib`库的使用使得Java开发者在处理JSON数据时更加便捷,但需要注意的是,随着Java生态的发展,现在更流行的是使用Jackson、Gson或Google的AutoValue库来处理JSON,它们提供了更多特性和更好的性能。...
为了方便地处理JSON数据,Java社区提供了多个优秀的JSON库,包括Gson、Fastjson、Jackson和json-lib。这四大JSON库各有特点,适应不同的使用场景。 1. Gson: Gson是Google提供的一个开源库,它能够将Java对象转换...
1. **Jackson或Gson库**:这两个是其他流行的JSON库,可能会被`json-lib`用作底层实现的一部分,提供JSON序列化和反序列化的功能。 2. **Eclipse Collections**:可能用于提供高效的数据结构,如集合和映射,用于...
虽然json-lib在早期Java开发中广泛应用,但现在有更现代的JSON库,如Jackson、Gson和org.json,它们在性能和功能上可能更具优势。例如,Jackson提供了更快的序列化和反序列化速度,而Gson则直接支持注解驱动的转换...
7. **性能优化**:虽然JSON-Lib功能强大,但相比其他更现代的JSON库(如Jackson或Gson),其性能可能略低。因此,在性能敏感的应用中,可能需要权衡其便利性和效率。 总之,`json-lib-2.4 jar`为Java开发者提供了一...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和服务器端...在现代的Java开发中,虽然有其他更现代的JSON库如Gson和Jackson,但`json-lib`仍然在一些遗留系统或特定场景下被使用。
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`在过去被广泛应用,但随着技术的发展,现在更推荐使用如Gson、Jackson或Fastjson这样的现代JSON库,它们通常具有更好的性能和更丰富的功能。然而,对于一些老旧的项目或者需要与旧系统...
通常,这样的集合可能包括json-lib自身的jar,以及它依赖的其他库,如Jackson、Gson、org.json等,因为Json-lib可能利用了这些库的功能来实现其功能。 具体到这个压缩包,文件名为“json.jar”,这很可能是json-lib...
这个"json-lib包最新合集20170403整理"包含了用于处理JSON的多个依赖库和相关资源。 首先,我们来看包含的文件: 1. `commons-collections-3.2.1.jar`:Apache Commons Collections是Java集合框架的一个扩展,提供...
JSON(JavaScript Object Notation)是一种轻量级的...`json.jar`、`gson.jar`和`json-lib`各有其特点,而`Junit.jar`则提供了强大的测试支持。了解并掌握这些库的用法,对于提升Java开发效率和代码质量非常有帮助。
虽然json-lib 是一个功能丰富的库,但随着技术的发展,后来出现了性能更优、功能更强的JSON库,如Gson、Jackson和Fastjson等。在选择使用时,应根据项目需求和性能要求进行评估。 7. **注意事项** 在实际使用中,...
2. `commons-collections.jar`:Apache Commons Collections库,提供了一系列实用的集合框架扩展,如更强大的映射、列表和堆栈实现,这对`json-lib`处理数据结构时非常有用。 3. `commons-lang-2.4.jar`:Apache ...