zoukankan      html  css  js  c++  java
  • 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();
        }
    
    }
  • 相关阅读:
    Form表单中不同的按钮进行不同的跳转
    Redis查询&JDBC查询&Hibernate查询方式的效率比较...
    JDBC批处理读取指定Excel中数据到Mysql关系型数据库
    使用JDBC-ODBC读取Excel文件
    Linux公社资料库地址
    用Shell实现俄罗斯方块代码(Tetris.sh)
    Storm累计求和中使用各种分组Grouping
    Storm累计求和Demo并且在集群上运行
    CSS中margin和padding的区别
    使用json-lib-*.jar的JSON解析工具类
  • 原文地址:https://www.cnblogs.com/zjsy/p/4381609.html
Copyright © 2011-2022 走看看