读书人

简略从网络上获取JSON数据解析

发布时间: 2013-06-26 14:29:32 作者: rapoo

简单从网络上获取JSON数据解析

package com.jiangqq.util;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.List;import org.json.JSONArray;import org.json.JSONObject;import com.jiangqq.bean.Person;public class JsonParse {/** * 解析Json数据 *  * @param urlPath * @return mlists * @throws Exception */public static List<Person> getListPerson(String urlPath) throws Exception {List<Person> mlists = new ArrayList<Person>();byte[] data = readParse(urlPath);JSONArray array = new JSONArray(new String(data));for (int i = 0; i < array.length(); i++) {JSONObject item = array.getJSONObject(i);String name = item.getString("name");String address = item.getString("address");int age = item.getInt("age");mlists.add(new Person(name, address, age));}return mlists;}/** * 从指定的url中获取字节数组 *  * @param urlPath * @return 字节数组 * @throws Exception */public static byte[] readParse(String urlPath) throws Exception {ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] data = new byte[1024];int len = 0;URL url = new URL(urlPath);HttpURLConnection conn = (HttpURLConnection) url.openConnection();InputStream inStream = conn.getInputStream();while ((len = inStream.read(data)) != -1) {outStream.write(data, 0, len);}inStream.close();return outStream.toByteArray();}}

?

读书人网 >JavaScript

热点推荐