gson 解析:
// Type 是获取当前实体类的类型方法
//json 是网络请求下来的json字符串
//需要Gson.jar包
public static ArrayList<Me_GroupBean> resolvExListData(String json)
throws JSONException {Type listType = new TypeToken<ArrayList<Me_GroupBean>>() {
}.getType();
Gson gson = new Gson();
ArrayList<Me_GroupBean> list = gson.fromJson(json, listType);
return list;
}
fastJson 解析:
// Json.parseArray是fastJson中的方法
//需要fastJson.jar包
//Data.class 是实体类
private List<Data> datas=null;
String json=new String(bytes,"utf-8");
JSONArray array=new JSONObject(json).getJSONArray("data");
//会根据你写的实体类中的数据进行解析
List<BKData> list=JSON.parseArray(array.toString(), Data.class);
//加入到实体类中
datas.add(list);
//原生解析比较笨,也比较实用的方法
public static List<Data> ParserJsonHomePager(String path) throws Exception{
List<Data> list=new ArrayList<Aiqg>();
try {
byte[] byte= readParse(path);
String jsonString=new String(byte,"utf-8");
Log.e("data", byte+"");
Log.e("data", jsonString);
JSONObject object=new JSONObject(jsonString);
JSONArray array=object.getJSONArray("data");
for(int i=0;i<array.length();i++){
Data data=new Data();
JSONObject jsonObject=array.getJSONObject(i);
data.setGoodsname(jsonObject.optString(""));
data.setCurrent_price(jsonObject.optDouble(""));
data.setLike(jsonObject.optInt(""));
data.setBargain_count(jsonObject.optInt(""));
data.setDistance(jsonObject.optDouble(""));
data.setMarket_price(jsonObject.optDouble(""));
JSONArray jsonArray02=jsonObject.getJSONArray("");
data.setImages(jsonArray02.getString(0));
JSONArray jsonArray=jsonObject.getJSONArray("");
for(int j=0;j<jsonArray.length();j++){
JSONObject jsonObject2=jsonArray.getJSONObject(j);
data.setShopname(jsonObject2.getString(""));
}
list.add(data);
Log.e("list", list+" ");
}
return list;
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
随手记!