JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合

将JSon格式的"数组"字符串转换为List集合。

应用此技术从一个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;
    }

}

第02步:编写servlet类:

package com.west.webcourse.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

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格式的字符串 */
        getJsonStringToBeanList();
        out.flush();
        out.close();
    }

    /** 第02步:将JSon类型字符串转换为:List集合对象 */
    public List<PersonInfoPo> getJsonStringToBeanList() {
        String jsonString = "[{\"name\":\"zhang3\",\"sex\":\"nan\",\"age\":\"30\"},{\"name\":\"zhang4\",\"sex\":\"nan4\",\"age\":\"304\"}]";
        System.out.println(jsonString);
        /* 2.1:转换成json数组 */
        try {
            /* 2.2:创建PersonInfoPo对象的List列表 */
            List<PersonInfoPo> lp = new ArrayList<PersonInfoPo>();
            /**2.3:Json字符串,转换为JsonArray数组*/
            JSONArray PoJsonArray = JSONArray.fromObject(jsonString);
            /**2.4:遍历数组,取出JsonObject对象,并转换成PersonInfoPo对象,添加到List列表*/
            for (Object object : PoJsonArray) {
                PersonInfoPo pif02 = new PersonInfoPo();
                /**2.4.1:将JsonObject对象转换成PersonInfoPo对象*/
                pif02=(PersonInfoPo)JSONObject.toBean((JSONObject)object,PersonInfoPo.class);
                lp.add(pif02);
                System.out.println("装入:"+pif02.getName());
            }
            return lp;

        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}

测试servlet:

package com.west.webcourse.servlet;
/**
 * 测试
 */

import java.util.List;

import org.junit.BeforeClass;
import org.junit.Test;

import com.west.webcourse.po.PersonInfoPo;

public class JavaBeanToJOSNStringTest {
    static JavaBeanToJOSNString js;
    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        js=new JavaBeanToJOSNString();
    }

    @Test
    public void testGetJsonStringToBeanList() {
        List<PersonInfoPo> lp=js.getJsonStringToBeanList();
        for (PersonInfoPo person : lp) {
            System.out.println("测试,循环取出:"+person.getName());
        }
    }

}
时间: 2024-10-12 20:31:03

JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合的相关文章

JSon_零基础_007_将JSon格式的&quot;数组&quot;字符串转换为Java对象&quot;数组&quot;

将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key)方法取得key对应的value部分(字符串). 通过getJSONObject(key)可以取得一个JSONObject对象. 通过getJSONArray(key)可以得到一个JSONArray对象. 导入需要的jar包: package com.west.

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.webcou

JSon_零基础_005_将po(bean)对象转换为JSon格式的对象字符串,返回给界面

将po(bean)对象转换为JSon格式的对象字符串,返回给界面 导入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

JSon_零基础_005_将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面

将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面 导入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 St

JSon_零基础_004_将Set集合对象转换为JSon格式的对象字符串,返回给界面

将Set集合对象转换为JSon格式的对象字符串,返回给界面 需要导入的jar包: 编写:servlet: package com.west.webcourse.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import ja

JSon_零基础_002_将List类型数组转换为JSon格式的对象字符串,返回给界面

将List类型数组转换为JSon格式的对象字符串,返回给界面 所需要导入的包: 编写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; publ

零基础iOS之Json及XML数据解析2

零基础iOS之Json及XML数据解析http://www.cnblogs.com/dingjianjaja/articles/4798604.html

json格式转数组注意事项

今天遇到一个特别奇葩的问题,json格式明明是正确的,转数组时却就是出不来,后来才发现是文件的编码问题,文件的编码一定要是utf-8无BOM格式,这点一定要切记!切记! 如果想确认json是否正确:http://www.kjson.com/ json格式的城市: <?php $json = '{ "北京": { "key": 11, "defaultvalue": 1, "values": { "东城区&quo

Map对象转换成Json格式的String字符串

1 //action处理页面发来的String,put到map转换成Json格式的String字符串 2 @RequestMapping("/seleteOaOrder") 3 @ResponseBody 4 public Object seleteOaOrder(String param){//param = "小明"; 5 System.out.println("+++++++++++++++++param:"+param); 6 if(pa