2013-04-25 1 views
1

Мой вопрос: Есть ли инструмент, который можно использовать в программе ANDROID для BeanUtils (apache)? Пожалуйста, дайте мне подсказку.Как конвертировать POJO для сопоставления/карты POJO в Android

//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>(); 

Я хочу скопировать valaues в pojo1 на map1; , и я хочу скопировать карту со значениями в пустой объект Pojo;

ключи на карте такие же, как и поля Pojo;

В процессе отображения в pojo должен быть преобразован класс (но простой) класса (например, String to int и т. Д.);

Я знаю, что есть beanutils от apache, но он не может работать в ANDROID.

Мой английский не очень хорошо, и просто изучите Java на полгода. Я провожу 2 дня, чтобы найти такой инструмент.

Благодарим вас за внимание и помощь!

+0

Что вы пытаетесь сделать с карты? (Сериализовать его)? – Ethan

+0

Дело: клиент android, который мы разработали, будет подключаться к серверу. protrol - xml. Я хочу сделать xml для pojo (и pojo для xml). там много разных pojo. поэтому я хочу сделать xml для сопоставления карты с pojo (pojo to map, map to xml). Кстати, xml не прост, он имеет несколько уровней. – justqb

+0

Почему вы не используете Fasterxml Jackson для переноса POJO в XML? Затем вы можете использовать библиотеку для создания своего XML или JSON (если вы хотите использовать JSON). – Ethan

ответ

0

Использование Jackson, чтобы сделать ваш проект, вероятно, было бы лучше. Вам нужно будет создать классы для вашего XML для декодирования. Если у вас нет классов на стороне сервера, вы можете использовать JAXB для преобразования классов XML в Java.

Чтобы сделать Джексон для десериализации ваших классов, добавьте @XmlRootElement в свои корневые классы. Затем вы просто создаете экземпляр XmlMapper и используете методы serialize/deserialze.

Еще одним преимуществом использования Jackson является то, что вы сможете конвертировать в JSON, если ваши услуги когда-либо должны быть более легкими.

Если вы не думаете, что это сработает, отправьте несколько образцов в ваше сообщение или Gist, чтобы просмотреть код и найти любые проблемы, с которыми вы сталкиваетесь.

Refs: