2010-07-09 6 views
1

은 무엇 라이브러리 즉Java bean을 특성 파일로 변환하려면 어떻게해야합니까?

id=1 
associations=1,2,3,4,5 
name.first=Franz 
name.last=See 

같은으로

public class Person { 
    private Long id; 
    private Name; 
    private List<Long> associations; 

    // accessors 
} 

public class Name { 
    private String first; 
    private String last; 

    // accessors 
} 

과 같은 작업을 수행 할 수 있습니다 사용할 수있는 그리고 그렇게 할 라이브러리가 없다면, 그것을 할 수있는 좋은 방법은 무엇입니까? :-)

답변

0

글쎄 내 생각에 외부 라이브러리를 사용하는 대신 javabeans에서 getters와 setters를 추가하고 문자열 메소드를 재정의 한 다음 원하는대로 문자열을 형성 할 수 있습니다. 남은 하나의 파일에 그 문자열을 쓰는 것, 그게 전부 !!!!!

+0

참. 하지만 이것은 누군가가 이미 이런 식으로 뭔가를했다고 추측하는 꽤 일반적인 것 같습니다. SomeUtil.toProperties (...) :-)와 같은 것을 호출하면됩니다. –

2

빈을 직렬화하는 일반적인 방법이 XML이기 때문에 라이브러리가 있다고 의심 스럽습니다. 속성 목록을 얻고 그 값을 추출하려면 Java Reflection API을 사용하여 간단한 라이브러리를 작성할 수 있습니다. 직렬화해야하는 모든 클래스에 대해 사용자 지정 toString()을 만드는 것보다 일반적인 솔루션입니다.

0

글쎄, XMLEncoder 개체에서 필드 이름과 값을 추출하는 방법을 확인하고 출력 속성 파일로 다시 작성하려고합니다. 나는 XML 출력을 프로퍼티 출력으로 대체함으로써 꽤 좋은 프로퍼티 생성자를 얻을 수 있다고 생각한다. 추가 이점으로서, 등가 opf XMLDecoder을 사용하여 속성을 읽는 경우에도 마찬가지입니다.

0

JSON이이 문제를 해결하는지 확인하십시오.

import net.sf.json.JSONObject; 

public class YourJSONJavaExample 
{ 
    public static void main(String args[]){ 
    JSONObject object=new JSONObject(); 
    object.put("firstname","John"); 
    object.put("age",new Integer(21)); 
    object.put("lastname","smith"); 
    System.out.println(object); 
    } 
} 
관련 문제