JSON 집합 을 만 들 려 면 JSONarray. from Object 를 사용 하여 전 환 된 jsonArray 집합 이 비어 있 습 니까?

2036 단어 자바 학습
개인 적 인 경험 과 교훈, 답 은 말미 에 가장 많다.
근황 설명: 최근 에 포럼 시스템 의 배경 을 쓰 고 있 습 니 다. 그 중에서 문장 류 (article) 와 댓 글 류 (article comment) 의 관계 와 관련 되 어 있 습 니 다. 저 는 article 류 에서 글 댓 글 을 얻 는 function 을 만 들 었 습 니 다.
public String getArticalComments() {
		//        
		List article_comments= new ArrayList();		
		try {	
			ResultSet res =  DoSQL.executeQuery("SELECT *FROM article_comment WHERE artical_id = " + this.article_id);//    id    
			while (res.next()) {
				System.out.println("    id:"+res.getInt("id"));
				artical_comment A = new artical_comment(res.getInt("id"));//    id     id,      
				//System.out.println(A.toString());
				artical_comments.add(A);//          
			}
			System.out.println(article_comments);
		} catch (SQLException e) {
			// TODO       catch  
			System.out.println("  res       ");
			e.printStackTrace();
		}
		//  JSON  
        JSONArray jsonarray = JSONArray.fromObject(artical_comments);
        System.out.println("  jsonarray :"+jsonarray);
        // JSON    String     
        String str = jsonarray.toString();
        System.out.println("  str :"+str);
        return str;//str     String           
	}

처음에 콘 솔 에서 인쇄 된 str 가 {} 즉 비어 있 는 것 을 발 견 했 습 니 다. 디 버 깅 을 통 해 JSONArray jsonarray = JSONArray.fromObject(article_comments); 이 단계 에서 얻 은 jsonarray 도 비어 있 었 지만 List article_comments= new ArrayList(); articalcomments 이 집합 내용 은 비어 있 지 않 습 니 다.이 는 문제 가 JSONArray jsonarray = JSONArray.fromObject(article_comments); 이라는 줄 코드 에서 발생 했다 는 것 을 의미한다. 즉, list 대상 이 json 형식 으로 집합 하여 이상 을 일 으 키 고 검색 한 결과 [중점] 을 얻 었 다.
정 답: SONarray. from Object (object) 는 Object 를 변환 할 때 domain 류 의 모든 getXXX () 방법 에 따라 변환 합 니 다.클래스 에 비 속성 getXXX () 방법 을 썼 다 면 되 돌아 오 는 XXX 속성 이 있 습 니 다. object 에 get 방법 을 쓰 지 않 았 다 면 jsonArray 로 바 뀌 었 을 때 값 을 얻 지 못 했 습 니 다.

좋은 웹페이지 즐겨찾기