Test code:
Package Com.yanek.util.json;import Java.util.arraylist;import Java.util.list;import net.sf.json.jsonarray;import Net.sf.json.jsonobject;public class Jsonlibutil {/** * @param args */public static void main (string[] args) {Hotel h1=new Hotel (); H1.setid (1); H1.setname ("name1"); Hotel H2=new (); H2.setid (2); H2.setname ("name2"); Roomtypevo t1=new Roomtypevo () t1.setprice ("a") T1.settypeid (1); T1.settypename ("nnn1"); List<roomtypevo> roomtypevos=new arraylist<roomtypevo> (); Roomtypevos.add (t1); Roomtypevos.add (t1); H1.setroomtypevos (Roomtypevos); Hotel Hotel=new Hotel (); System.out.println ("Json1:::" +bean2json (H1)); String S=bean2json (H1); Hotel=json2bean (S,hotel.class); System.out.println ("Json2:::" +bean2json (hotel)); System.out.println ("Json3:::" +beanlist2json (Roomtypevos)); String S2=beanlist2json (Roomtypevos); object[] List=getdtoarray (S2,roomtypevo.class); for (Object v:list) {RoomTypeVO rt= (Roomtypevo) v; System.out.println (Rt.gettypeid () + "-" +rt.gettypename () + "-" +rt.getprice ());}} Public sTatic String Bean2json (Object obj) {jsonobject jsonobject=jsonobject.fromobject (obj); return jsonobject.tostring (); }public static String Beanlist2json (Object obj) {jsonarray jsonobject=jsonarray.fromobject (obj); return jsonobject.tostring (); } @SuppressWarnings ("Unchecked") public static <T> T Json2bean (String jsonstr,class<t> objclass) { Return (T) Jsonobject.tobean (Jsonobject.fromobject (JSONSTR), objclass); } @SuppressWarnings ("Unchecked") public static <T> T Jsonarray2bean (String jsonstr,class<t> objclass ) {return (T) Jsonobject.tobean (Jsonobject.fromobject (JSONSTR), objclass); /** * Get an array of Java objects from a JSON array, such as: * [{"id": Idvalue, "name": Namevalue}, {"id": Idvalue, "name": Namevalu e}, ...] * @param Object * @param clazz * @return */public static object[] Getdtoarray (String jsonstring, Cla SS Clazz) {Jsonarray array = Jsonarray.fromobjeCT (jsonstring); object[] obj = new object[array.size ()]; for (int i = 0; i < array.size (); i++) {Jsonobject jsonobject = Array.getjsonobject (i); Obj[i] = Jsonobject.tobean (Jsonobject, clazz); } return obj; }}
The output is as follows:
json1:::{"id": 1, "name": "Name1", "Roomtypevos": [{"Price": "$", "typeID": 1, "TypeName": "Nnn1"},{"Price": "20", " typeID ": 1," TypeName ":" Nnn1 "}]}json2:::{" id ": 1," name ":" Name1 "," Roomtypevos ": [{" Price ":" $ "," typeID ": 1," TypeName ":" Nnn1 "},{" Price ":" "," typeID ": 1," TypeName ":" Nnn1 "}]}json3:::[{" Price ":" $ "," typeID ": 1," TypeName ":" Nnn1 "},{" Price ":", "typeID": 1, "TypeName": "Nnn1"}]1-nnn1-201-nnn1-20
Related Java entity classes:
Package Com.yanek.util.json;public class Roomtypevo {public int gettypeid () {return typeid;} public void Settypeid (int typeid) {This.typeid = typeID;} Public String Gettypename () {return typename;} public void Settypename (String typename) {this.typename = typename;} Public String GetPrice () {return price;} public void Setprice (String price) {this.price = Price;} private int typeid;private string typename;private string price;} Package Com.yanek.util.json;import Java.util.list;public class Hotel {public list<roomtypevo> Getroomtypevos () { return Roomtypevos;} public void Setroomtypevos (list<roomtypevo> roomtypevos) {roomtypevos = Roomtypevos;} Private list<roomtypevo> roomtypevos;public int getId () {return ID;} public void setId (int id) {this.id = ID;} Public String GetName () {return name;} public void SetName (String name) {this.name = name;} private int id;private String name;}