標籤:
將JSon格式的"數組"字串轉換為Java對象"數組"。
應用此技術從一個json對象字串格式中得到一個java對應的對象。
JSONObject是一個“name.values”集合,
通過get(key)方法取得key對應的value部分(字串)。
通過getJSONObject(key)可以取得一個JSONObject對象。
通過getJSONArray(key)可以得到一個JSONArray對象。
匯入需要的jar包:
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 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;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格式的字串 */ getJsonStringToBeans(); out.flush(); out.close(); } /** 第02步:將JSon類型字串轉換為:po類 */ public void getJsonStringToBeans() { String jsonString = "[{\"name\":\"zhang3\",\"sex\":\"nan\",\"age\":\"30\"},{\"name\":\"zhang4\",\"sex\":\"nan4\",\"age\":\"304\"}]"; System.out.println(jsonString); /*2.1:轉換成json數組*/ JSONArray allJsons = JSONArray.fromObject(jsonString); /*2.2:講json數群組轉換成PersonInfoPo數組*/ PersonInfoPo[] allBeans = (PersonInfoPo[]) allJsons.toArray(allJsons, PersonInfoPo.class); for (Object object : allBeans) { pif01 = (PersonInfoPo) object; 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.getJsonStringToBeans(); }}
編寫po(bean)類:
JSon_零基礎_007_將JSon格式的"數組"字串轉換為Java對象"數組"