接收JSON类型转成对象

时间:2022-11-13 22:11:24

写个小例子吧:

public String getJsonTest(String jsonString){} 参数是json

参数长这样  ===》

   {  'puser' : {'id' : '001','name' : 'zhangsan' , 'age' : 18},

             'user' : [ {'id' : '1','name' : 'son1','sex' : 1},

                      {'id' : '2','name' : 'son2','sex' : 0}] 

    }

传过来的是一个Puser对象和一个User集合,我把它封装成一个GetPuserUser对象 ===》

public  class  GetPuserUser  {

  // puser对象

  pirvate  Puser  puser;

  // User集合

  private  Set<User>  userSet  =  new  HashSet<User> ( ) ;

//get set 方法等

   }

进入正题:

public  String  getJsonTest ( String  jsonString )  {

  // 转成JSON对象

  JSONObject  jsonObject  = JSONObject . fromObject ( jsonString ) ;【这里的JSONObject只能是net.sf.json.JSONObject下的,不然没有fromObject方法,fastJSON是没有的】

【 这里贴一下依赖

  <dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
  </dependency>

           】

  // 转成封装的对象

  GetPuserUser  gpu  =  ( GetPuserUser ) JSONObject . toBean ( jsonObject , GetPuserUser . class ) ;

  // 现在可以获取想要的数据

  Puser  puser  =   gpu . getPuser ( ) ;   

    Set   userSet  =    gpu . getUserSet ( ) ;

}