ws

JSON convert object to and from JSON

  • App.java
  • MyEntity.java
  • Car.java
  • pom.xml

App.java

package com.training.rs;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

public class App {

    private static final String TEST_FILE = "/tmp/json.txt";

    public static void main(String[] args) throws JsonGenerationException,
            JsonMappingException, IOException {
        App app = new App();
        app.writeObjectToJSON();
        app.readObjectFromJSON();
    }

    private void writeObjectToJSON() throws JsonGenerationException,
            JsonMappingException, IOException {
        MyEntity myEntity = createMyEntityWithCars();
        ObjectMapper mapper = new ObjectMapper();

        mapper.writeValue(new File(TEST_FILE), myEntity);

        System.out.println(mapper.writeValueAsString(myEntity));

    }

    private void readObjectFromJSON() throws JsonParseException,
            JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();

        MyEntity myEntity = mapper.readValue(new File(TEST_FILE),
                MyEntity.class);

        System.out.println(myEntity);
        System.out.println("ID: " + myEntity.getId());
        System.out.println("Name: " + myEntity.getName());
        System.out.println("Cars: ");
        for (Car car : myEntity.getCars()) {
            System.out.println("Car id: " + car.getId() + ", car name: "
                    + car.getName());
        }

    }

    private MyEntity createMyEntityWithCars() {
        Car car1 = new Car(1, "car1");
        Car car2 = new Car(2, "car2");
        Car car3 = new Car(3, "car3");
        ArrayList<Car> cars = new ArrayList<Car>();
        cars.add(car1);
        cars.add(car2);
        cars.add(car3);

        return new MyEntity(1234, "entityname", cars);
    }
}

MyEntity.java

package com.training.rs;

import java.util.ArrayList;
import java.util.List;

class MyEntity {

    private long id;
    private String name;
    private List<Car> cars = new ArrayList<Car>();

    public MyEntity() {
    }

    public MyEntity(long id, String name, List<Car> cars) {
        super();
        this.id = id;
        this.name = name;
        this.cars = cars;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Car> getCars() {
        return cars;
    }

    public void setCars(List<Car> cars) {
        this.cars = cars;
    }

}

Car.java

package com.training.rs;

class Car {

    private long id;
    private String name;

    public Car() {
    }

    public Car(long id, String name) {
        super();
        this.id = id;
        this.name = name;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.training</groupId>
    <artifactId>json_convert_object_to_and_from_json</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.13</version>
        </dependency>
    </dependencies>

</project>