posts - 60,comments - 71,trackbacks - 0

             在將JSON格式的數據轉換為BEAN的JAVA數據格式時,需要提供帶參數和不帶參數的構造函數,如果僅僅提供了帶參數的構造函數,而沒有提供不帶參數的構造函數,會發生如下的異常:
          Exception in thread "main" net.sf.json.JSONException: java.lang.InstantiationException:
          這表明BEAN沒有正常的被初始化:

             
              public static void json2bean() {
                  JSONObject jo 
          = JSONObject
                          .fromObject(
          "{bookname:\"C++程序設計\",isbn:\"885596-989\",author:\"小東\"}");
                  Book book 
          = (Book) JSONObject.toBean(jo, Book.class);
                  System.out.println(book.getAuthor() 
          + "-" + book.getBookname());

              }

          所以在Book.java文件中,除了要提供帶參數的構造函數
           
            public Book(String bookname, String isbn, String author){
                
          this.bookname = bookname;
                
          this.isbn = isbn;
                
          this.author = author;
            }

          外,還要提供不帶參數的構造函數:
           
            public Book() {
                System.out.println(
          "this is run");
            }

          這樣就不會報那個異常了.為了表明不帶參數的構造函數被調用,可以在函數中加入一條輸出語句,以表明不帶參數的構造函數是否被調用.
          posted on 2008-10-31 09:51 henry1451 閱讀(621) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 海晏县| 青海省| 九龙县| 无极县| 泗水县| 冷水江市| 西平县| 宁阳县| 乐至县| 淮北市| 潢川县| 黑水县| 周宁县| 托克托县| 盐城市| 大厂| 大石桥市| 尚志市| 乌鲁木齐市| 如东县| 阜平县| 元朗区| 德州市| 墨江| 重庆市| 惠东县| 峨边| 浏阳市| 芷江| 双城市| 唐河县| 玉树县| 徐水县| 辽阳市| 广州市| 临清市| 吉安县| 响水县| 吉林省| 台北县| 察雅县|