2013-04-25 1 views
1

내 질문 : BeanUtils (apache)와 같은 도구가 Android에서 사용할 수 있습니까? 제발 좀 힌트를주세요.POJO를 Android에서 POJO로 변환하는 방법

//here is a simple POJO 
public class Pojo{ 
    private String name; 
    private int age; 
    private double money; 
//some set/get method ............ 
} 
//and 
Pojo pojo1 = new Pojo(); 
pojo1.setName("jack"); 
pojo.setAge(90); 
pojo.setMoney(99.78); 
//then I have a blank map: 
HashMap<String, Object> map1 = new HashMap<String, Object>(); 

pojo1의 valaues를 map1에 복사하고 싶습니다. 그리고 값이있는지도를 빈 Pojo 객체에 복사하고 싶습니다.

지도의 키는 Pojo의 필드와 동일합니다.

pojo에 매핑하는 과정에서 자동 (그러나 단순한) 클래스가 있어야합니다 (String과 int 등).

나는 아파치에서부터 콩나무가 있지만, 안드로이드에서는 작동하지 않는다는 것을 알고있다.

영어가 좋지 않아서 반년 동안 Java를 배우십시오. 그런 도구를 찾기 위해 이틀을 보냅니다.

감사합니다.

+0

? (직렬화)? – Ethan

+0

사례는 다음과 같습니다. 우리가 개발 한 안드로이드 클라이언트가 서버와 연결됩니다. protrol은 xml입니다. 나는 xml을 pojo (그리고 pojo에서 xml)로 만들고 싶다. 거기에 많은 다른 pojo. 그래서 나는 pojo (map to pojo, map to xml)에 map을 맵핑하기 위해 xml을 만들고 싶다. BTW XML은 간단하지 않다, 그것은 몇 가지 수준이 있습니다. – justqb

+0

Fasterxml Jackson을 사용하여 POJO를 XML로 변환하는 이유는 무엇입니까? 그런 다음 라이브러리를 사용하여 XML 또는 JSON을 생성 할 수 있습니다 (JSON을 사용하려는 경우). – Ethan

답변

0

Jackson을 사용하면 프로젝트를 가장 잘 수행 할 수 있습니다. 디코딩 할 XML을위한 클래스를 생성해야한다. 서버 측에 클래스가 없으면 JAXB를 사용하여 XML을 Java 클래스로 변환 할 수 있습니다.

Jackson이 클래스를 deserialize 할 수있게하려면 @XmlRootElement을 루트 클래스에 추가하십시오. 그런 다음 XmlMapper의 인스턴스를 만들고 serialize/deserialze 메서드를 사용합니다.

잭슨을 사용하는 또 다른 장점은 서비스의 경량화가 필요한 경우 JSON으로 변환 할 수 있다는 것입니다.

코드가 작동하지 않는다면 게시물이나 Gist에 몇 가지 샘플을 게시하여 코드를 검토하고 실행중인 문제를 찾아보십시오.

참고 문헌 :

당신이지도와 함께 할 려
관련 문제