本文核心内容:Json字符串与Java对象的相互转换。
Json可以有两种格式,一种是对象格式的,另一种是数组对象,
{"name":"Jane","age":23"address":"湖北武汉"}//JSON的对象格式的字符串
[{"name":"Jane","age":23,"address":"湖北武汉"}]//数据对象格式
对象格式和数组对象格式唯一的不同则是在对象格式的基础上加上了[]。具体的结构,可以看出都是以键值对的形式出现的,中间以英文状态下的逗号(,)分隔。
Json字符串与Java对象的转换依赖于第三方Jar包
如果commons-collections-3.2.jar没有或版本不对的话会出现
org/apache/commons/collections/map/ListOrderedMap这个异常。
一:Java对象-> Json字符串 [从服务器向客户端传递信息]
I. 普通的实体对象->Json字符串 [不包含List、Map等复杂属性]
实体类
普通对象转->Json字符串
II. List->Json字符串
III. Map->Json字符串
结论:普通对象、Map类型的数据可以直接转成Json对象或数组对象Json;List类型只能转成数组对象Json。
二:Json字符串转成Java对象
I. Json字符串->普通的实体对象
II. Json字符串->List集合
III. Json字符串->Map集合
JSON字符串不能直接转化为map对象,要想取得map中的键对应的值需要别的方式。