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 閱讀(617) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 东乌珠穆沁旗| 遂宁市| 西充县| 集贤县| 奇台县| 布尔津县| 屏山县| 奉贤区| 秦皇岛市| 麟游县| 龙江县| 额尔古纳市| 河津市| 玉田县| 贡嘎县| 达拉特旗| 平塘县| 肥西县| 库伦旗| 托克逊县| 周口市| 东光县| 虎林市| 乌兰察布市| 新田县| 星座| 安溪县| 明溪县| 伊宁县| 金溪县| 澳门| 灵山县| 会昌县| 神木县| 本溪| 沈阳市| 仙游县| 广丰县| 莲花县| 成武县| 武穴市|