JAX-RS之jackson去处理json
在JAX-RS中使用jackson去处理json,例子如下。下文讲解了,如何将一个对象转变为JSON对象,使用的是jackson。
1 放置resteasy-jackson-provider.jar
2
一个简单对象
public class Product { String name;int qty; public String getName() {return name;} public void setName(String name) {this.name = name;} public int getQty() {return qty;} public void setQty(int qty) {this.qty = qty;} }import javax.ws.rs.Consumes;import javax.ws.rs.GET;import javax.ws.rs.POST;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.core.Response; @Path("/json/product")public class JSONService { @GET@Path("/get")@Produces("application/json")public Product getProductInJSON() { Product product = new Product();product.setName("iPad 3");product.setQty(999); return product; } @POST@Path("/post")@Consumes("application/json")public Response createProductInJSON(Product product) { String result = "Product created : " + product;return Response.status(201).entity(result).build(); } }try {URL url = new URL("http://localhost:8085/Resetjason/json/product/get");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setRequestProperty("Accept", "application/json");if (conn.getResponseCode() != 200) {throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());}BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {System.out.println(output);}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} try {URL url = new URL("http://localhost:8085/Resetjason/json/product/post");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");String input = "{"qty":100,"name":"iPad 4"}";OutputStream os = conn.getOutputStream();os.write(input.getBytes());os.flush();if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {throw new RuntimeException("Failed : HTTP error code : "+ conn.getResponseCode());}BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {System.out.println(output);}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}