JSON类库 Flexjson学习

来源:互联网 发布:godaddy 阿里域名 编辑:程序博客网 时间:2024/06/08 12:18

官方地址(需翻墙):http://flexjson.sourceforge.net/

Flexjson 是一个将 Java 对象转成 JSON 的 类库,是一个深度转换的过程。

下面是我写的一个例子:http://download.csdn.net/detail/zzhd_xingfu/5885183

Main.java

package com.flexjson.main;import java.util.ArrayList;import java.util.List;import com.flexjson.model.InterestModel;import com.flexjson.model.TelModel;import com.flexjson.model.UserModel;public class Main {/** * @param args */public static void main(String[] args) {testJsonUtil();}public static void testJsonUtil() {// Json String to Java objectString json1 = "{\"ims\":[{\"name\":\"篮球\"},{\"name\":\"足球\"}],\"tm\":{\"number\":\"15896352635\",\"type\":\"手机号\"},\"passWord\":\"123\",\"userName\":\"admin\"}";UserModel um1 = JsonUtil.getObjFromJsonStr(json1, UserModel.class);System.out.println(um1.toString());// ///////////////////////////////////////////////// Java object to JSON String 简单的ObjectUserModel um2 = new UserModel();um2.setUserName("admin");um2.setPassWord("123");System.out.println(JsonUtil.getJsonStrFromObj(um2));// ///////////////////////////////////////////////// Java object to JSON String 复杂的ObjectUserModel um3 = new UserModel();um3.setUserName("admin");um3.setPassWord("123");List<InterestModel> ims = new ArrayList<InterestModel>();InterestModel im1 = new InterestModel();im1.setName("篮球");InterestModel im2 = new InterestModel();im2.setName("足球");ims.add(im1);ims.add(im2);um3.setIms(ims);TelModel tm = new TelModel();tm.setNumber("15896352635");tm.setType("手机号");um3.setTm(tm);String json3 = JsonUtil.getJsonStrFromObj(um3, "ims", "tm");System.out.println(json3);// ///////////////////////////////////////////////// List to JSON StringUserModel um4_1 = new UserModel();um4_1.setUserName("admin_1");um4_1.setPassWord("123_1");List<InterestModel> ims4_1 = new ArrayList<InterestModel>();InterestModel im4_1_1 = new InterestModel();im4_1_1.setName("篮球_1");InterestModel im4_1_2 = new InterestModel();im4_1_2.setName("足球_1");ims4_1.add(im4_1_1);ims4_1.add(im4_1_2);um4_1.setIms(ims4_1);TelModel tm4_1 = new TelModel();tm4_1.setNumber("15896352635_1");tm4_1.setType("手机号_1");um4_1.setTm(tm4_1);UserModel um4_2 = new UserModel();um4_2.setUserName("admin_2");um4_2.setPassWord("123_2");List<InterestModel> ims4_2 = new ArrayList<InterestModel>();InterestModel im4_2_1 = new InterestModel();im4_2_1.setName("篮球_2");InterestModel im4_2_2 = new InterestModel();im4_2_2.setName("足球_2");ims4_2.add(im4_2_1);ims4_2.add(im4_2_2);um4_2.setIms(ims4_2);TelModel tm4_2 = new TelModel();tm4_2.setNumber("15896352635_2");tm4_2.setType("手机号_2");um4_2.setTm(tm4_2);List<Object> list = new ArrayList<Object>();list.add(um4_1);list.add(um4_2);System.out.println(JsonUtil.getJsonStrFromList(list, "User", "ims", "tm"));// ///////////////////////////////////////////////}}

JsonUtil.java
package com.flexjson.main;import java.util.List;import flexjson.JSONDeserializer;import flexjson.JSONSerializer;public class JsonUtil {// Java object to JSON Stringpublic static String getJsonStrFromObj(Object obj) {JSONSerializer serializer = new JSONSerializer();return serializer.serialize(obj);}// Java object to JSON Stringpublic static String getJsonStrFromObj(Object obj, String... params) {JSONSerializer serializer = new JSONSerializer();serializer = serializer.include(params);return serializer.serialize(obj);}// List to JSON Stringpublic static String getJsonStrFromList(List<Object> objs, String rootName,String... params) {JSONSerializer serializer = new JSONSerializer();serializer = serializer.include(params);serializer.rootName(rootName);return serializer.serialize(objs);}// Json String to Java objectpublic static <T> T getObjFromJsonStr(String source, Class<T> bean) {return new JSONDeserializer<T>().deserialize(source, bean);}}
 

UserModel.java

/** *  */package com.flexjson.model;import java.util.List;/** * @author Administrator *  */public class UserModel {private String userName;// 用户名private String passWord;// 密码private List<InterestModel> ims;private TelModel tm;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;}public List<InterestModel> getIms() {return ims;}public void setIms(List<InterestModel> ims) {this.ims = ims;}public TelModel getTm() {return tm;}public void setTm(TelModel tm) {this.tm = tm;}@Overridepublic String toString() {return "userName=" + userName + "; passWord=" + passWord + ";";}}

InterestModel.java

package com.flexjson.model;public class InterestModel {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}


TelModel.java

package com.flexjson.model;public class TelModel {private String number;private String type;public String getType() {return type;}public void setType(String type) {this.type = type;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}}


 

原创粉丝点击