美文网首页
net.sf.json解析字符串(自定义类)

net.sf.json解析字符串(自定义类)

作者: jarWorker | 来源:发表于2018-07-24 18:12 被阅读0次

    json-lib-2.3-jdk15.jar

    commons-beanutils.jar

    commons-lang-2.6.jar

    commons-logging-1.1.1.jar

    ezmorph-1.0.6.jar

    Man类


    package test;
    
    
    public class Man {
        //属性和json的键对上
        private String name;// 姓名 
        private String sex;// 性别
        private Integer age;// 年龄
        private String goodAt;// 特长
    
        public Man() {
            super();
        }
    
        public Man(String name, String sex, Integer age, String goodAt) {
            super();
            this.name = name;
            this.sex = sex;
            this.age = age;
            this.goodAt = goodAt;
           
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public String getGoodAt() {
            return goodAt;
        }
    
        public void setGoodAt(String goodAt) {
            this.goodAt = goodAt;
        }
    }
    
    

    测试用例


    package test;
    
    import org.junit.Test;
    import net.sf.json.JSONObject;
    
    public class test {
        @Test
        public void netSfJson() {
            String json = "{\r\n" + "\"name\":\"jarWorker\",\r\n" + "\"sex\":\"男\",\r\n" + "\"age\":26,\r\n"
                    + "\"goodAt\":\"Java\"}";
    
            String jsonStr = "{\r\n" + "\"name\":\"jarWorker\",\r\n" + "\"sex\":\"男\",\r\n" + "\"age\":26,\r\n"
                    + "\"love\":[{\"hobby\":\"足球\",\"color\":\"White\"},{\"hobby\":\"篮球\",\"color\":\"Brown\"},{\"hobby\":\"简书\",\"color\":\"Yellow\"}],\r\n"
                    + "\"goodAt\":\"Java\"\r\n" + "}";
            JSONObject jsonObjectBean = JSONObject.fromObject(json);
            Man man = (Man) JSONObject.toBean(jsonObjectBean, Man.class);
            //JSONObject jsonObject = JSONObject.fromObject(jsonStr);
            // 存在json数组love:man1无法转换,目前找不到如何破解
            //Man man1 = (Man) JSONObject.toBean(jsonObject, Man.class);
            String manName = man.getName();
            String manSex = man.getSex();
            Integer manAge = man.getAge();
            String manGoodAt = man.getGoodAt();
            System.out.println("manName===" + manName);
            System.out.println("manSex===" + manSex);
            System.out.println("manAge===" + manAge);
            System.out.println("manGoodAt===" + manGoodAt);
        }
    }
    

    Console:输出


    manName===jarWorker
    manSex===男
    manAge===26
    manGoodAt===Java
    

    相关文章

      网友评论

          本文标题:net.sf.json解析字符串(自定义类)

          本文链接:https://www.haomeiwen.com/subject/tkuymftx.html