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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 民和| 兴城市| 崇州市| 兖州市| 叶城县| 大姚县| 东乌珠穆沁旗| 保靖县| 顺义区| 东光县| 民勤县| 岳普湖县| 宁海县| 扬中市| 南康市| 霞浦县| 长岭县| 营口市| 宁晋县| 朔州市| 白沙| 郁南县| 米易县| 巴林右旗| 东乌珠穆沁旗| 延吉市| 江口县| 宁阳县| 新竹市| 宜都市| 佳木斯市| 乌什县| 隆安县| 贡山| 宿迁市| 荆门市| 通江县| 双流县| 子洲县| 和田市| 安多县|