一、fastjson.JSON
< dependency>
< groupId> com. alibaba< / groupId>
< artifactId> fastjson< / artifactId>
< version> 1.2 .47 < / version>
< / dependency>
1.1、java对象->json
1 、java中的对象-- > json
User user = new User ( 1 , "张三" , "123456" ) ;
String javaJson = JSON. toJSONString ( user) ;
System . out. println ( javaJson) ;
2 、JSON -- > 对象
User user = new User ( 1 , "小白" , "123456" ) ;
String jsonString = JSON. toJSONString ( user) ;
System . out. println ( jsonString) ;
User user1 = JSON. parseObject ( jsonString, User . class ) ;
System . out. println ( user1) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
{ "id" : 1 , "password" : "123456" , "username" : "小白" }
User { id= 1 , username= '小白' , password= '123456' }
1.2、集合->json
User user = new User ( 1 , "小1" , "123456" ) ;
User user1 = new User ( 2 , "小2" , "123456" ) ;
User user2 = new User ( 3 , "小3" , "123456" ) ;
List < User > users= new ArrayList < User > ( ) ;
users. add ( user) ;
users. add ( user1) ;
users. add ( user2) ;
String jsonString = JSON. toJSONString ( users) ;
System . out. println ( jsonString) ;
List < User > userList = JSON. parseArray ( jsonString, User . class ) ;
for ( User user3 : userList) {
System . out. println ( user3) ;
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
[ { "id" : 1 , "password" : "123456" , "username" : "小1" } ,
{ "id" : 2 , "password" : "123456" , "username" : "小2" } ,
{ "id" : 3 , "password" : "123456" , "username" : "小3" } ]
User { id= 1 , username= '小1' , password= '123456' }
User { id= 2 , username= '小2' , password= '123456' }
User { id= 3 , username= '小3' , password= '123456' }
1.3、数组–>JSON
String [ ] names= { "张三" , "李四" , "王五" } ;
String jsonString = JSON. toJSONString ( names) ;
System . out. println ( jsonString) ;
1.4 List装对象–>JSON
User user = new User ( 1 , "小1" , "123456" ) ;
User user1 = new User ( 2 , "小2" , "123456" ) ;
User user2 = new User ( 3 , "小3" , "123456" ) ;
Set < User > users= new HashSet < User > ( ) ;
users. add ( user) ;
users. add ( user1) ;
users. add ( user2) ;
String jsonString = JSON. toJSONString ( users) ;
System . out. println ( jsonString) ;
Set set = JSON. parseObject ( jsonString, Set . class ) ;
for ( Object o : set) {
System . out. println ( o) ;
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
[ { "id" : 1 , "password" : "123456" , "username" : "小1" } ,
{ "id" : 2 , "password" : "123456" , "username" : "小2" } ,
{ "id" : 3 , "password" : "123456" , "username" : "小3" } ]
{ "password" : "123456" , "id" : 3 , "username" : "小3" }
{ "password" : "123456" , "id" : 1 , "username" : "小1" }
{ "password" : "123456" , "id" : 2 , "username" : "小2" }
1.5 Map集合–>JSON
Map < Integer , String > maps= new HashMap < Integer , String > ( ) ;
maps. put ( 1 , "小黑" ) ;
maps. put ( 2 , "小白" ) ;
String jsonString = JSON. toJSONString ( maps) ;
System . out. println ( jsonString) ;
Map map = JSON. parseObject ( jsonString, Map . class ) ;
Set set = map. keySet ( ) ;
for ( Object o : set) {
System . out. println ( o+ "==============" + map. get ( o) ) ;
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
{ 1 : "小黑" , 2 : "小白" }
1 == == == == == == == 小黑
2 == == == == == == == 小白
二、gson.Gson
2.1 对象<—>json
User user = new User ( 1 , "张三" , "123456" ) ;
Gson gson = new Gson ( ) ;
String json = gson. toJson ( user) ;
System . out. println ( json) ;
User user1 = gson. fromJson ( json, User . class ) ;
System . out. println ( user1) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
{ "id" : 1 , "username" : "张三" , "password" : "123456" }
User { id= 1 , username= '张三' , password= '123456' }
三、jsonObjet的使用
< dependency>
< groupId> com. alibaba< / groupId>
< artifactId> fastjson< / artifactId>
< version> 1.2 .28 < / version>
< / dependency>
JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构) 可以使用put方法给json对象添加元素。 JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。
3.1、通过原生生成json数据格式。
JSONObject jsonObject = new JSONObject ( ) ;
jsonObject. put ( "name" , "张三" ) ;
jsonObject. put ( "age" , 18.4 ) ;
jsonObject. put ( "birthday" , "1900-20-03" ) ;
jsonObject. put ( "majar" , new String [ ] { "哈哈" , "嘿嘿" } ) ;
jsonObject. put ( "null" , null ) ;
jsonObject. put ( "house" , false ) ;
System . out. println ( jsonObject. toString ( ) ) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
{ "birthday" : "1900-20-03" , "name" : "张三" , "majar" : [ "哈哈" , "嘿嘿" ] , "house" : false , "age" : 18.4 }
3.2、hashMap数据结构生成
HashMap < String , Object > zhangsan = new HashMap < > ( ) ;
zhangsan. put ( "name" , "张三" ) ;
zhangsan. put ( "age" , 18.4 ) ;
zhangsan. put ( "birthday" , "1900-20-03" ) ;
zhangsan. put ( "majar" , new String [ ] { "哈哈" , "嘿嘿" } ) ;
zhangsan. put ( "null" , null ) ;
zhangsan. put ( "house" , false ) ;
System . out. println ( new JSONObject ( zhangsan) . toString ( ) ) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
{ "birthday" : "1900-20-03" , "name" : "张三" , "majar" : [ "哈哈" , "嘿嘿" ] , "house" : false , "age" : 18.4 }
3.3、通过实体生成json
User user = new User ( 1 , "小1" , "123456" ) ;
System . out. println ( JSON. toJSON ( user) ) ;
String stuString = JSONObject . toJSONString ( user) ;
System . out. println ( stuString) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
{ "password" : "123456" , "id" : 1 , "username" : "小1" }
{ "id" : 1 , "password" : "123456" , "username" : "小1" }
3.4、JSON字符串转换成jsonObject
String studentString = "{\"id\":1,\"age\":2,\"name\":\"zhang\"}" ;
JSONObject jsonObject1 = JSONObject . parseObject ( studentString) ;
System . out. println ( jsonObject1) ;
System . out. println ( jsonObject1. get ( "name" ) ) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
{ "name" : "zhang" , "id" : 1 , "age" : 2 }
zhang
3.5、 list对象转listJson
ArrayList < User > userLsit = new ArrayList < > ( ) ;
User user1 = new User ( 1 , "小1" , "123" ) ;
User user2 = new User ( 2 , "小2" , "1234" ) ;
User user3 = new User ( 3 , "小3" , "123456" ) ;
userLsit. add ( user1) ;
userLsit. add ( user2) ;
userLsit. add ( user2) ;
String string = JSON. toJSON ( userLsit) . toString ( ) ;
System . out. println ( string) ;
JSONArray jsonArray = JSONObject . parseArray ( string) ;
System . out. println ( jsonArray) ;
for ( int i = 0 ; i < jsonArray. size ( ) ; i++ ) {
System . out. println ( jsonArray. get ( i) + "==" + jsonArray. getClass ( ) ) ;
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
[ { "password" : "123" , "id" : 1 , "username" : "小1" } ,
{ "password" : "1234" , "id" : 2 , "username" : "小2" } ,
{ "password" : "1234" , "id" : 2 , "username" : "小2" } ]
[ { "password" : "123" , "id" : 1 , "username" : "小1" } ,
{ "password" : "1234" , "id" : 2 , "username" : "小2" } ,
{ "password" : "1234" , "id" : 2 , "username" : "小2" } ]
{ "password" : "123" , "id" : 1 , "username" : "小1" } == class com. alibaba. fastjson. JSONArray
{ "password" : "1234" , "id" : 2 , "username" : "小2" } == class com. alibaba. fastjson. JSONArray
{ "password" : "1234" , "id" : 2 , "username" : "小2" } == class com. alibaba. fastjson. JSONArray