net.sf.json 属性 转换

前端之家收集整理的这篇文章主要介绍了net.sf.json 属性 转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 需求分析: Person name属性addresss属性在转换为json的时候 需转换为superman homeaddress。下面是相应的代码处理部分。
  1. public class Person {
  2.  
  3. private String name;
  4. private String address;
  5. private String password;
  6. public String getName() {
  7. return name;
  8. }
  9. public void setName(String name) {
  10. this.name = name;
  11. }
  12. public String getAddress() {
  13. return address;
  14. }
  15. public void setAddress(String address) {
  16. this.address = address;
  17. }
  18. public String getPassword() {
  19. return password;
  20. }
  21. public void setPassword(String password) {
  22. this.password = password;
  23. }
  24. @Override
  25. public String toString() {
  26. return "Person [name=" + name + ",address=" + address + ",password=" + password + "]";
  27. }
  28. }
  1. import net.sf.json.JSONObject;
  2. import net.sf.json.JsonConfig;
  3. import net.sf.json.processors.PropertyNameProcessor;
  4. import com.heavan.domain.Person;
  5.  
  6. public class JsonUtil {
  7.  
  8. public static void main(String[] args) {
  9. //属性进行了映射
  10. // address - homeaddress
  11. // name - superman
  12. String bean2Json = bean2Json();
  13. System.out.println(bean2Json);
  14. Person json2Bean = json2Bean(bean2Json);
  15. System.out.println(json2Bean);
  16. }
  17.  
  18. /**
  19. * 从对象转换为json
  20. * @return
  21. */
  22. private static String bean2Json() {
  23. Person person = new Person();
  24. person.setAddress("山东");
  25. person.setName("钓岛是中国的");
  26. person.setPassword("美丽是大家的");
  27. JsonConfig jsonConfig = new JsonConfig();
  28.  
  29. PropertyNameProcessor processor = new PropertyNameProcessor() {
  30. @Override
  31. public String processPropertyName(Class beanClass,String name) {
  32. if(name.equals("name")){
  33. return "superman";
  34. }else if (name.equals("address")) {
  35. return "homeaddress";
  36. }
  37. return name;
  38. }
  39. };
  40. jsonConfig.registerJsonPropertyNameProcessor(Person.class,processor);
  41. JSONObject jsonObject = JSONObject.fromObject(person,jsonConfig);
  42. return jsonObject.toString();
  43. }
  44.  
  45. /**
  46. * 从json 转换为bean
  47. * @param json
  48. * @return
  49. */
  50. private static Person json2Bean(String json) {
  51. JsonConfig jsonConfig = new JsonConfig();
  52.  
  53. PropertyNameProcessor processor = new PropertyNameProcessor() {
  54. @Override
  55. public String processPropertyName(Class beanClass,String name) {
  56. if (name.equals("homeaddress")) {
  57. return "address";
  58. } else if (name.equals("superman")) {
  59. return "name";
  60. }
  61. return name;
  62. }
  63. };
  64. jsonConfig.setRootClass(Person.class);
  65. jsonConfig.registerJavaPropertyNameProcessor(Person.class,processor);
  66.  
  67. JSONObject jsonObject = JSONObject.fromObject(json,jsonConfig);
  68. Person bean = (Person) JSONObject.toBean(jsonObject,jsonConfig);
  69. return bean;
  70. }
  71. }

猜你在找的Json相关文章