JSON LIB依赖的JAR包在附件,以下是小练习:
package json; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * 两种核心JSON格式:对象格式和数组格式[List只能转成JSONArray而不能转为JSONObject] * JSONObject------{xx:xx,yy:yy} * JSONArray-------[{xx:xx,yy:yy},..] * @author edison.seven */ public class Boot { private static Student student = null; private static Group group = null; public static void main(String[] args) throws Exception{ Boot boot = new Boot(); //step1:object===>jsonObject // boot.object2json(); //step2:list=====>jsonArray // boot.list2json(); //step3:map======>jsonArray // boot.map2json(); //step4:string===>jsonObject // boot.str2jsonObject(); //step5:string===>jsonArray // boot.str2jsonArray(); //step6:json=====>object // boot.json2object(); //step7:json=====>list // boot.json2list(); //step8:json=====>map boot.json2map(); } /** * object2jsonObject * JSONObject.fromObject(bean)---Object===>JSONObject * fromObject将Java对象转换成json字符串,toBean将json对象转换成Java对象 */ public void object2json(){ //JavaObject==>JsonObject 所转换的属性-依赖于属性是否有getXX方法 log(JSONObject.fromObject(student)); //JavaObject===>JsonArray log(JSONArray.fromObject(student)); } public void list2json() throws CloneNotSupportedException{ List studentlist = new ArrayList(); //因只看转换效果,此处用clone,以免创建多个实例 studentlist.add(student.clone()); studentlist.add(student.clone()); studentlist.add(student.clone()); studentlist.add(student.clone()); //list==>JsonArray log(JSONArray.fromObject(studentlist)); } public void map2json() throws CloneNotSupportedException{ Map studentMap = new LinkedHashMap(); studentMap.put("s1",student.clone()); studentMap.put("s2",student.clone()); studentMap.put("s3",student.clone()); studentMap.put("s4",student.clone()); //list==>JsonArray log(JSONArray.fromObject(studentMap)); //map===>JsonObject log(JSONObject.fromObject(studentMap)); } //String=====>jsonObject public void str2jsonObject(){ String jsonStr = JSONObject.fromObject(student).toString(); log(JSONObject.fromObject(jsonStr)); } //String=====>jsonArray public void str2jsonArray() throws Exception{ List studentlist = new ArrayList(); studentlist.add(student.clone()); studentlist.add(student.clone()); studentlist.add(student.clone()); studentlist.add(student.clone()); String jsonStr = JSONArray.fromObject(studentlist).toString(); log(JSONArray.fromObject(jsonStr)); } public void json2object(){ String jsonStr = JSONObject.fromObject(student).toString(); //string====>JsonObject Student s = (Student)JSONObject.toBean(JSONObject.fromObject(jsonStr), Student.class); log(s); } public void json2list() throws Exception{ List studentlist = new ArrayList(); studentlist.add(student.clone()); studentlist.add(student.clone()); studentlist.add(student.clone()); studentlist.add(student.clone()); String jsonStr = JSONArray.fromObject(studentlist).toString(); //string====>JsonArray JSONArray jsonArray = JSONArray.fromObject(jsonStr); //JsonArray===>Collection Collection c = JSONArray.toCollection(jsonArray, Student.class); //转为JavaObject for(Object o : c){ log(((Student)o).toString()); } // //##################################################################### div(); //或JsonArray===>Student[] Student[] ss = (Student[])JSONArray.toArray(jsonArray,Student.class); //Student[]===>list List list = Arrays.asList(ss); for(Object o : list){ log(o.getClass().getName() + "!!!!!" + o.toString()); } } public void json2map() throws Exception{ Map studentMap = new LinkedHashMap(); studentMap.put("s1",student.clone()); studentMap.put("s2",student.clone()); studentMap.put("s3",student.clone()); studentMap.put("s4",student.clone()); //map===>string String json = JSONObject.fromObject(studentMap).toString(); //string===>JSONObject JSONObject jsonObject = JSONObject.fromObject(json); //定义(KEY指定的)VALUE-class映射 Map clazzMapping = new HashMap(); //映射-可用正则表达式--此处表示JSON中所有的对象都以student类型转存至Map中 clazzMapping.put(".*", Student.class); //params:JsonObject对象|转存为Bean的类型|Map中各对象值的类型映射 Map map = (Map)JSONObject.toBean(jsonObject, LinkedHashMap.class,clazzMapping); Set set = map.keySet(); for(Object obj : set){ log(((Student)map.get(obj)).toString()); } } ////////////////////////////////////////////////////////////////////////////////////////// public Boot(){ student = new Student(); student.setId("1"); student.setName("xiaoming"); student.setGender("male"); student.setAge("100"); group = new Group(); group.setGroupID("11"); group.setGroupName("一班"); student.setGroup(group); } public void log(Object o){ System.out.println("========>" + o); } public void div(){ System.out.println("#################################################"); } }
相关推荐
JSONlib是一个Java库,专门设计用于处理JSON(JavaScript Object Notation)数据格式。JSON作为一种轻量级的数据交换格式,被广泛应用于Web服务和客户端应用程序之间的数据传输,因为它的语法简单,易于阅读和编写,...
这个压缩包“jsonlib”很可能包含了Jsonlib库的所有相关组件和文件。 Jsonlib的主要功能包括: 1. **JSON对象的创建**:Jsonlib允许开发者通过简单的API创建JSON对象。例如,你可以创建一个JSON对象并添加键值对,...
json-lib-2.4-jdk15.jar下载,json-lib是一款简单易用的Java JSON库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 ...
在Java中,为了处理JSON数据,我们可以利用各种库,其中之一就是JsonLib。JsonLib是一个用Java编写的开源库,它提供了一系列API来方便地解析、生成和操作JSON数据。 JsonLib支持多种数据类型与JSON的转换,包括基本...
本篇文章将详细介绍两个流行的Java JSON解析库:Gson和Jsonlib。 ### Gson库 Gson是Google提供的一款强大的JSON库,它可以直接将Java对象转换为JSON字符串,也可以将JSON数据反序列化为Java对象。Gson的优点在于其...
总的来说,`json-lib.jar`是一个强大的JSON处理工具,为Java开发者提供了一种简单的方式来处理JSON数据,广泛应用于各种需要数据交换的Java应用程序中。通过理解和熟练使用这个库,开发者可以提高其项目的数据处理...
JSON库如json-lib是Java开发中处理JSON数据的重要工具。`json-lib-2.3-jdk15`是JSON库的一个特定版本,专为JDK 1.5设计,以确保与该版本的Java环境兼容。 ### JSON Lib简介 JSON Lib是一个Java库,它提供了将Java...
JSON-lib是Java平台上的一个库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及从JSON字符串恢复Java对象。这个库在处理JSON数据时非常实用,特别是对于那些需要在服务器端和客户端之间进行数据...
Jsonlib是一个Java库,专门设计用于处理JSON格式数据,它提供了一套全面的API,使得在Java应用程序中生成和解析JSON变得非常简单。 Jsonlib的主要功能包括: 1. **JSON对象创建**:Jsonlib允许开发者通过Java对象...
"服务器端 json lib包"即是指用于服务器端处理JSON数据的库或框架。 在Java开发环境中,一个常见的JSON库是`json-lib`。这个库提供了多种数据结构(如Map、List、Java Beans等)与JSON对象之间的转换功能,使得...
在Java开发中,jsonLib是一个广泛使用的JSON处理库,它提供了丰富的API来帮助开发者进行JSON的序列化和反序列化操作。这篇博文主要探讨jsonLib支持库在Java开发中的应用和关键功能。 首先,jsonLib作为一个开源工具...
在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...
为了方便地处理JSON数据,Java社区提供了多个优秀的JSON库,包括Gson、Fastjson、Jackson和json-lib。这四大JSON库各有特点,适应不同的使用场景。 1. Gson: Gson是Google提供的一个开源库,它能够将Java对象转换...
`json-lib` 是一个 Java 库,它提供了将 JSON 格式的数据转换为 Java 对象,以及将 Java 对象转换为 JSON 格式数据的功能。在 Java 开发中,`json-lib` 是一个常用的 JSON 处理工具,尤其适用于需要处理复杂 JSON ...
JSON-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,以及将JSON数据转换回Java对象。这个库提供了多种方法来处理JSON数据,使得在Java应用程序中与JSON交互变得更加简单。JSON是一...
"json lib 最新版" 提供的就是一个Java开发的JSON工具类,它能够帮助开发者更高效地在Java项目中解析、生成和操作JSON数据。 该库被设计为可以轻松集成到Eclipse的lib目录下,这意味着它可以作为项目的外部依赖,...
JSON-lib是一个Java库,它提供了将Java对象转换为JSON表示以及从JSON文本反序列化回Java对象的功能。该库名为`json-lib-2.2.3-jdk15.jar`,特别针对Java 1.5版本进行了优化。 JSON-lib的主要特点和功能包括: 1. *...
`json-lib`是一个Java库,它提供了一种将Java对象转换为JSON格式,以及将JSON数据还原为Java对象的能力。在Web开发中,这个功能非常重要,因为服务器端处理的数据需要以某种形式传递到客户端,JSON由于其简洁性和...
JSON库如json-lib-2.4是Java开发者在处理JSON数据时的重要工具,它提供了一系列API,使得JSON与Java对象之间的转换变得更加简单。本文将深入探讨json-lib-2.4及其在Java开发中的应用。 首先,json-lib-2.4是一个...