sexta-feira, 18 de dezembro de 2009

Serializador Java para JSON - Parte II

Na Parte I do post sobre JSON, postei o código da biblioteca. Nesta parte dois, está um exemplo de uso, que é formado por uma classe principal (TesteJson) e pelas classes Person e PhoneNumber para ilustrar o uso de objetos para a escrita do código JSON.

Código da classe PhoneNumber

public class PhoneNumber {
    private int code;
    private String number;
    
    public PhoneNumber() {
    }

    public PhoneNumber(int code, String number) {
        this.code = code;
        this.number = number;
    }
    //Métodos GET e SET..... 
}



Código da classe Person

import java.util.Date;
import java.util.List;

public class Person {
    private String firstName;
    private String lastname;
    private int idade;
    private boolean casado;
    private Boolean solteiro;
    private Long altura;
    private Integer numero;
    private PhoneNumber phone;
    private PhoneNumber fax;
    private Date data;
    private List phones;
    private PhoneNumber[] arrayPhones;

    public Person() {}

    public Person(String fn, String ln) {
        this.firstName = fn;
        this.lastname = ln;
    }

    // Métodos GET e SET........
}




Código da classe TesteJson

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import json.serializer.JSONSerializer;

public class TesteJson {
    public static void main(String[] args) {
        Person joe = new Person("Joe", "Wayne");
        PhoneNumber phoneJoe = new PhoneNumber(321, "5565-987");
        PhoneNumber fax      = new PhoneNumber(123, "9999-999");
        PhoneNumber[] arrayPhones = new PhoneNumber[2];
        arrayPhones[0] = phoneJoe;
        arrayPhones[0] = fax;
        List phones = new ArrayList();
        phones.add(phoneJoe);
        phones.add(fax);

        joe.setPhone(phoneJoe);
        joe.setFax(fax);
        joe.setData(Calendar.getInstance().getTime());
        joe.setIdade(12);
        joe.setAltura(new Long(120));
        joe.setArrayPhones(arrayPhones);
        joe.setPhones(phones);
        joe.setAltura(new Long(120));
        joe.setCasado(true);
        joe.setSolteiro(new Boolean(false));
        joe.setNumero(new Integer(53));

        Person moe = new Person("Bart", "Simpson");
        PhoneNumber phone = new PhoneNumber(321, "5565-987");
        moe.setPhone(phone);
        moe.setFax(new PhoneNumber(321, "9999-999"));
        moe.setData(Calendar.getInstance().getTime());
        
        List collection = new ArrayList();
        collection.add(joe);
        collection.add(moe);

        JSONSerializer serial = new JSONSerializer();
        String strJoe = serial.serialize(joe);
        System.out.println(strJoe);
        
        serial = new JSONSerializer();
        strJoe = serial.serialize(collection);
        System.out.println(strJoe);
    }
} 


Nenhum comentário: