package zh.solr.se.indexer.chinese; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import org.codehaus.jackson.map.ObjectMapper; import zh.solr.se.indexer.db.entity.ChineseEntity; public class JsonProcesser { private ObjectMapper mapper; private static SimpleDateFormat dateFormator = new SimpleDateFormat( "yyyyMMdd'T'HHmmss"); public JsonProcesser(ObjectMapper mapper) { this.mapper = mapper; } public ChineseEntity parseDataModel(String jsonString) throws Exception { ChineseEntity dataModel = null; try { dataModel = this.mapper.readValue(jsonString, ChineseEntity.class); } catch (IOException e) { throw new Exception("can't map json to java Obejct, check input json String : " + jsonString, e); } return dataModel; } public String generateJsonFromEntity(Object object) throws Exception { String jsonString = ""; try { jsonString = this.mapper.writeValueAsString(object); } catch (Exception e) { throw new Exception("can't map java object to json string , id:" + ((ChineseEntity) object).getId() , e); } return jsonString; } public String dateFormat(Date date) { return JsonProcesser.dateFormator.format(date); } }