利用java怎么在将对象转换为json

  介绍

这篇文章给大家介绍利用java怎么在将对象转换为json,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强> 1。JSON数组和对象的区别

JSONArray是将数据转换为数组形式:

strArray:[{“地址”:“北京市西城区”,“年龄”:“23”、“名称”:“JSON”}]

使用时需要用数组方式读取JSON里面的数据,strArray [0] .address;

JSONObject是将数据转换为对象形式:

strJson:{“地址”:“北京市西城区”,“年龄”:“23”、“名称”:“JSON”}

使用时直接使用对象方式读取JSON里面的数据,strArray.address;

<强> 2。对象转换为JSON

先将java对象转换为JSON对象,在将JSON对象转换为JSON字符串

//1,使用JSONObject   JSONObject  json =, JSONObject.fromObject (stu);//2,使JSONArray用   JSONArray 数组=JSONArray.fromObject (stu);,,   String  strJson=json.toString ();   String  strArray=array.toString ();

<强> 3。json字符串转换为java对象

同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。

JSONObject  obj =, new  JSONObject () .fromObject (jsonStr);//将json字符串转换为json对象以前

将json对象转换为java对象

Person  jb =,(人)JSONObject.toBean (obj, Person.class);//将建json对象转换为人对象

实例扩展:

import  java.util.ArrayList;   import  java.util.Collection;   import  java.util.Iterator;   import 并不知道;   import  net.sf.json.JSONArray;   import  net.sf.json.JSONObject;   public  class  MainClass  {   ,public  static  void  main (String [], args), {   TestJsonBean才能();   TestJsonAttribute才能();   TestJsonArray才能();   ,}   ,@SuppressWarnings (“rawtypes")   ,private  static  void  TestJsonArray (), {   Student 才能;student1 =, new 学生();   student1.setId才能(1);   student1.setName才能(“jag");   student1.setSex才能(“man");   student1.setAge才能(25);   student1.setHobby才能(new  String[]{“篮球“,“游戏“});   Student 才能;student2 =, new 学生();   student2.setId才能(2);   student2.setName才能(“tom");   student2.setSex才能(“woman");   student2.setAge才能(23);   student2.setHobby才能(new  String[]{“上网“,“跑步“});   List<才能;Student>, list =, new  ArrayList ();   list.add才能(学生1);   list.add才能(学生二);   JSONArray 才能;JSONArray =, JSONArray.fromObject(列表);   System.out.println才能(jsonArray.toString ());   JSONArray 才能;new_jsonArray=JSONArray.fromObject (jsonArray.toArray ());   Collection 才能;java_collection=JSONArray.toCollection (new_jsonArray);   如果才能(java_collection !=null ,,, ! java_collection.isEmpty ())   {才能   ,,Iterator 它=java_collection.iterator ();   ,,,(it.hasNext ())   ,,{   ,,,JSONObject  jsonObj=JSONObject.fromObject (it.next ());   ,,,Student 斯图=(学生),JSONObject.toBean (jsonObj Student.class);   ,,,System.out.println (stu.getName ());   ,,}   ,,}   ,}   ,private  static  void  TestJsonAttribute (), {   ,/* *   ,,*,创建json对象并为该对象设置属性   ,,*/JSONObject 才能;jsonObj =, new  JSONObject ();   jsonObj.put才能(“Int_att" 25);//添加int型属性   jsonObj.put才能(“String_att",“str");//添加字符串型属性   jsonObj.put才能(“Double_att", 12.25);//添加双型属性   jsonObj.put才能(“Boolean_att",真);//添加布尔型属性//才能添加JSONObject型属性   JSONObject 才能;jsonObjSon =, new  JSONObject ();   jsonObjSon.put才能(“id",, 1);   jsonObjSon.put才能(“name",,“tom");   jsonObj.put才能(“JSONObject_att" jsonObjSon);//才能添加JSONArray型属性   JSONArray 才能;JSONArray =, new  JSONArray ();   jsonArray.add才能(“array0");   jsonArray.add才能(“array1");   jsonArray.add才能(“array2");   jsonArray.add才能(“array3");   jsonObj.put才能(jsonArray“JSONArray_att",,);   System.out.println才能(jsonObj.toString ());   System.out.println才能(“Int_att:“+ jsonObj.getInt (“Int_att"));   System.out.println才能(“String_att:“+ jsonObj.getString (“String_att"));   System.out.println才能(“Double_att:“+ jsonObj.getDouble (“Double_att"));   System.out.println才能(“Boolean_att:“+ jsonObj.getBoolean (“Boolean_att"));   System.out.println才能(“JSONObject_att:“+ jsonObj.getJSONObject (“JSONObject_att"));   System.out.println才能(“JSONArray_att:“+ jsonObj.getJSONArray (“JSONArray_att"));   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

利用java怎么在将对象转换为json