• JSon_零基础_006_将JSon格式的字符串转换为Java对象


    需求:
    将JSon格式的字符串转换为Java对象。

    应用此技术从一个json对象字符串格式中得到一个java对应的对象。
    JSONObject是一个“name.values”集合,
    通过get(key)方法取得key对应的value部分(字符串)。
    通过getJSONObject(key)可以取得一个JSONObject对象。
    通过getJSONArray(key)可以得到一个JSONArray对象。

    需要导入的jar包:

    编写po(bean)类:

    package com.west.webcourse.po;
    
    /**
     * 第01步:编写bean类,
     * 下一步com.west.webcourse.servlet.JavaBeanToJOSNString.java
     */
    public class PersonInfoPo {
        private String name;
        private int age;
        private String sex;
        
        public PersonInfoPo(){}
        
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
        
    }

    编写servlet:

    package com.west.webcourse.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.west.webcourse.po.PersonInfoPo;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    public class JavaBeanToJOSNString extends HttpServlet {
    
        PersonInfoPo pif = new PersonInfoPo();
        PersonInfoPo pif01 = new PersonInfoPo();
    
        /** 第03步:重写doGet()方法,下一步:测试 */
        @Override
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            System.out.println("转换");
            out.print("转换后的JSON字符串:<br/>");
            /** 向浏览器发送JSon格式的字符串 */
            getJsonStringToBean();
            out.flush();
            out.close();
        }
        
        /**第02步:将JSon类型字符串转换为:po类*/
        public void getJsonStringToBean(){
            String jsonString="{"name":"zhang3","sex":"nan","age":"30"}";
            JSONObject jsonObject=JSONObject.fromObject(jsonString);
            pif01=(PersonInfoPo)JSONObject.toBean(jsonObject,PersonInfoPo.class); 
            System.out.println("姓名:"+pif01.getName()+":性别:"+pif01.getSex()+":年龄:"+pif01.getAge());
        }
    
    }

    编写测试类:

    package com.west.webcourse.servlet;
    /**
     * 第04步:测试
     * 下一步:配置web.xml
     */
    import org.junit.BeforeClass;
    import org.junit.Test;
    
    public class JavaBeanToJOSNStringTest {
        static JavaBeanToJOSNString js;
        @BeforeClass
        public static void setUpBeforeClass() throws Exception {
            js=new JavaBeanToJOSNString();
        }
    
        @Test
        public void jsonStringToBean() {
            js.getJsonStringToBean();
        }
    
    }
  • 相关阅读:
    mybatis公用代码抽取到单独的mapper.xml文件
    mysql与oracle常用函数及数据类型对比00持续补充
    人民币在岸 离岸 中间价的含义与关系
    mysql hang and srv_error_monitor_thread using 100% cpu(已解决)
    long和BigDecimal引发的管理思考
    mybatis 3的TypeHandler深入解析(及null值的处理)
    mysql 5.7.17发布
    rabbitmq connection/channel/consumer/queue的数量关系详细分析
    rabbitMQ publish丢包分析
    INFO: task java:27465 blocked for more than 120 seconds不一定是cache太大的问题
  • 原文地址:https://www.cnblogs.com/zjsy/p/4381609.html
Copyright © 2020-2023  润新知