(2)-產生JSONObject的方法

來源:互聯網
上載者:User

標籤:

產生JSONObject一般有兩種方式,通過javabean或者map類型來產生。如下面的例子:

 
123456789101112131415161718192021 public class User{    public String username;    public String password;    public String getUsername()    {      return username;    }    public void setUsername(String username)    {      this.username = username;    }    public String getPassword()    {       return password;    }    public void setPassword(String password)    {       this.password = password;    }}

 

 
12345678910111213141516171819 import java.util.HashMap;import net.sf.json.JSONObject;public class Test { public static void main(String args[]) {        User user = new User();    user.setUsername("root");    user.setPassword("1234");    JSONObject json1 = JSONObject.fromObject(user);    System.out.println(json1.toString());    HashMap<Object,Object> userMap= new HashMap<Object,Object>();    userMap.put("username", "root");    userMap.put("password", "1234");    JSONObject json2 = JSONObject.fromObject(userMap);    System.out.println(json2.toString());    }}

下面從源碼層次分析一下JSONObject.fromObject()方法:

 
1234 public static JSONObject fromObject(Object object){    return fromObject(object, new JsonConfig());}

此函數可以接受的參數類型為:JSON formatted strings,Maps,DynaBeans and JavaBeans。
【注意】DynaBeans是commons-beanutils定義的動態bean。DynaBean並不是Java中所定義的Bean,而是一種"假"的Bean。因為它並不是通過getXXX和setXXX方法,對XXX屬性進行取值和設值的。
如果object是其他類型的參數呢?比如說數字,邏輯值,非json格式的字串,那麼將生產空的JSONObject對象。

 
1234 if (JSONUtils.isNumber(object) || JSONUtils.isBoolean(object) || JSONUtils.isString(object)){    return new JSONObject();}

JSONObject的建構函式有兩個:

 
123456789 public JSONObject(){        this.properties = new ListOrderedMap();}public JSONObject(boolean isNull){        this();        this.nullObject = isNull;}

 

不過,說實話,第二個建構函式使用方式很少。

(2)-產生JSONObject的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.