您的位置:首页 > 移动开发 > Objective-C

Json转换成bean-Jackson ObjectMapper

2016-05-26 17:31 351 查看
json request:

{
"orderNo":"1001",
"orderDate":"26-05-2016",
....
"productDetails":[{"productId":"CN1008",
"productName":"shampoo",
"productType":"A"},
{"productId":"CN1009",
"productName":"cream",
"productType":"B"},
...]
}


请求处理的controller

@RequestMapping(value = "/getDetails", method = RequestMethod.POST)
public ResponseEntity<Object> getDetails(@RequestBody Map<String,Object> requestJson){
ObjectMapper objMap = new ObjectMapper();
String jsonStr = objMap .writeValueAsString(requestJson);
Order order = (Order)objMap.readValue(jsonStr,Order.Class);
....
return new ResponseEntity<Object>("Success", HttpStatus.OK);
}


Order 类

package com.model.Order;
import com.model.Product;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonIgnoreProperties(ignoreUnknown=true)  //可以使request中识别不了的字段不映射到bean中
public class Order{
@JsonProperty("orderNo")
private String orderNumber;
@JsonProperty("orderDate")
private String orderDate;
@JsonProperty("productDetails")
private List<Product> products;

getters and setters
}


Product 类

package com.model.Product;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown=true)
public class Product{
@JsonProperty("productId")
private String productID;
@JsonProperty("productName")
private String productName;
@JsonProperty("productType")
private String productType;

getters and setters
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: