標籤:
需求:
將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(); }}
JSon_零基礎_006_將JSon格式的字串轉換為Java對象