json数组与对象类型转换_json数组转换成json对象

 

  1. package hb.dto;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import net.sf.json.JsonConfig;
  5. import net.sf.json.processors.JsonValueProcessor;
  6. public class MyJsonValueProcessor implements JsonValueProcessor {
  7. private String format = "yyyy-MM-dd";
  8. public MyJsonValueProcessor() {
  9. }
  10. public MyJsonValueProcessor(String format) {
  11. this.format = format;
  12. }
  13. @Override
  14. public Object processArrayValue(Object value, JsonConfig arg1) {
  15. String[] obj = {};
  16. if (value instanceof Date[]) {
  17. SimpleDateFormat sf = new SimpleDateFormat(format);
  18. Date[] dates = (Date[]) value;
  19. obj = new String[dates.length];
  20. for (int i = 0; i < dates.length; i++) {
  21. obj[i] = sf.format(dates[i]);
  22. }
  23. }
  24. return obj;
  25. }
  26. @Override
  27. public Object processObjectValue(String key, Object value,
  28. JsonConfig jsonconfig) {
  29. if (value instanceof Date) {
  30. String str = new SimpleDateFormat(format).format((Date) value);
  31. return str;
  32. }
  33. return value.toString();
  34. }
  35. public String getFormat() {
  36. return format;
  37. }
  38. public void setFormat(String format) {
  39. this.format = format;
  40. }
  41. }

 

 

  1. package hb.dto;
  2. import java.util.Date;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import net.sf.json.JSONObject;
  6. import net.sf.json.JsonConfig;
  7. public class DateToJson {
  8. /**
  9. * @param args
  10. */
  11. public static void main(String[] args) {
  12. // TODO Auto-generated method stub
  13. JsonConfig jsonConfig = new JsonConfig();
  14. jsonConfig.registerJsonValueProcessor(Date.class,
  15. new MyJsonValueProcessor("yyyy-mm-dd"));
  16. String str="{'age':12,'name':'huangbiao','birthday':'1999-9-9'}";
  17. Map map = new HashMap();
  18. map.put("date", new Date());
  19. JSONObject json = JSONObject.fromObject(map, jsonConfig);
  20. System.out.println(json);
  21. }
  22. }

  

//字符转日期类型

  1. import java.util.Collection;
  2. import net.sf.ezmorph.object.DateMorpher;
  3. import net.sf.json.JSONArray;
  4. import net.sf.json.util.JSONUtils;
  5. public class JsonToDate {
  6. /**
  7. * @param args
  8. */
  9. public static void main(String[] args) {
  10. JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] { "yyyy-MM-dd" }));
  11. String jsonStr = "[{'age':12,'name':'huangbiao','birthday':'1999-9-9'}]";
  12. Collection<Person> list = JSONArray.toCollection(JSONArray.fromObject(jsonStr), Person.class);
  13. for (Person o : list) {
  14. System.out.println(o.getBirthday());
  15. }
  16. }
  17. }