net.sf.json 属性 转换
发布时间:2020-12-16 19:24:01 所属栏目:百科 来源:网络整理
导读:需求分析: Person 的name属性和addresss属性在转换为json的时候 需转换为superman 和homeaddress。下面是相应的代码处理部分。 public class Person { private String name; private String address; private String password; public String getName() { r
需求分析: 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; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Freebsd7.0安装、配置、应用postgresql8.2全套教程[转]
- c – 如何在OpenGL中使用glOrtho()?
- swift – 我可以在不使用switch语句的情况下测试枚举值是否
- cocos2d-x项目打包成exe文件后的音乐无法播放问题
- c# – .NET程序集插件安全性
- 数据持久化 plist,归档,CoreData,Sqlite
- HDU 3449 Consumer 依赖背包 入门题
- 关于oracle中procedure和function返回cursor类型的变量
- ruby-on-rails – 使用RSpec和Capybara检查图像和图标的存在
- 设计 – 哪些工具可用于逆向工程的sqlite数据库?