需求分析: Person 的name属性和addresss属性在转换为json的时候 需转换为superman 和homeaddress。下面是相应的代码处理部分。
public class Person { private String name; private String address; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Person [name=" + name + ",address=" + address + ",password=" + password + "]"; } }
import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.processors.PropertyNameProcessor; import com.heavan.domain.Person; public class JsonUtil { public static void main(String[] args) { //属性进行了映射 // address - homeaddress // name - superman String bean2Json = bean2Json(); System.out.println(bean2Json); Person json2Bean = json2Bean(bean2Json); System.out.println(json2Bean); } /** * 从对象转换为json * @return */ private static String bean2Json() { Person person = new Person(); person.setAddress("山东"); person.setName("钓岛是中国的"); person.setPassword("美丽是大家的"); JsonConfig jsonConfig = new JsonConfig(); PropertyNameProcessor processor = new PropertyNameProcessor() { @Override public String processPropertyName(Class beanClass,String name) { if(name.equals("name")){ return "superman"; }else if (name.equals("address")) { return "homeaddress"; } return name; } }; jsonConfig.registerJsonPropertyNameProcessor(Person.class,processor); JSONObject jsonObject = JSONObject.fromObject(person,jsonConfig); return jsonObject.toString(); } /** * 从json 转换为bean * @param json * @return */ private static Person json2Bean(String json) { JsonConfig jsonConfig = new JsonConfig(); PropertyNameProcessor processor = new PropertyNameProcessor() { @Override public String processPropertyName(Class beanClass,String name) { if (name.equals("homeaddress")) { return "address"; } else if (name.equals("superman")) { return "name"; } return name; } }; jsonConfig.setRootClass(Person.class); jsonConfig.registerJavaPropertyNameProcessor(Person.class,processor); JSONObject jsonObject = JSONObject.fromObject(json,jsonConfig); Person bean = (Person) JSONObject.toBean(jsonObject,jsonConfig); return bean; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。