package com.dld.protocol.json;import android.graphics.Shader.TileMode;import com.dld.android.util.LogUtils; import com.dld.coupon.util.StringUtils;import java.io.Serializable; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import java.util.Vector;import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList;/** * 打折detail * * @author dld * */ public class CouponDetail extends JsonBean implements Detail, Serializable { private static final long serialVersionUID = 1L; public String address; public String bank; public List<BankCouponDetail> banks = new ArrayList<BankCouponDetail>(); public String bizcode; public String branch_name; public String bus_route; public String business_hours; public String charge_type; public String cityName; public int cost; public int dbId; public String distance; public String district; public String district_name; public String feature; public List<GroupDetail> groups = new ArrayList<GroupDetail>(); public String id; public String introduction; public String land; public int likes; public String name = ""; public int parking; public ArrayList<Phone> phones = new ArrayList<Phone>(); public double poix; public double poiy; public int private_room; public String province_name; public String recommendation; public int reservation; public int seqnum; public String service_mask; public int shop_id; public String short_name; public String special_offer; public String style; public String telno; public String ticket_price; public List<Ticket> tickets = new ArrayList<Ticket>(); public String trade_name; public String wl_discount; public String x; public String y; public String tel;// mirror新添加字段 public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } // mirror生成tel get set方法 public String shopid; public String shopname; public String catname; public String discount; public String rank; public String disid; public String title; public String image; public String description;....... get set 方法
// xml解析信息 public static Vector<CouponDetail> fromXmlToAdroundInfo(Element root) { System.out.println(1); Vector<CouponDetail> list = new Vector<CouponDetail>(50); NodeList nlist = root.getElementsByTagName("result"); for (int i = 0; i < nlist.getLength(); i++) { list.add(fromNode(nlist.item(i))); // System.out.println("add"+fromNode(nlist.item(i)).getAddress()+"街店名字"+fromNode(nlist.item(i)).getShopname()+"街店坐标"+fromNode(nlist.item(i)).x+":"+fromNode(nlist.item(i)).y); } // System.out.println("list"+list.toString()); return list; } private static CouponDetail fromNode(Node n) { CouponDetail ad = new CouponDetail(); try { Class cls = ad.getClass(); for (int i = 0; i < n.getChildNodes().getLength(); i++) { String fieldname = n.getChildNodes().item(i).getNodeName(); Field field = cls.getDeclaredField(fieldname); field.set(ad, n.getChildNodes().item(i).getFirstChild() .getNodeValue()); // System.out.println("field"+field.toString()); } } catch (Exception e) { // e.printStackTrace(); } return ad; } public static Vector<CouponDetail> JsonParseAround(String string) { // System.out.println(string); Vector<CouponDetail> list = new Vector<CouponDetail>(); try { JSONObject object = new JSONObject(string); count = object.getString("count"); type = object.getString("type"); JSONArray jsonArray = (JSONArray) object.get("nearby"); CouponDetail couponDetail = new CouponDetail(); for (int i = 0; i < jsonArray.length(); i++) { // 解析对象 JSONObject detailObject = jsonArray.getJSONObject(i); couponDetail.id = detailObject.getString("id"); couponDetail.title = detailObject.getString("title"); System.out.println(couponDetail.title); couponDetail.address = detailObject.getString("address"); couponDetail.telno = detailObject.getString("telephone"); couponDetail.imgurl = detailObject.getString("imgurl"); couponDetail.distance = detailObject.getString("distance"); // 此处distance是1米,包含“米”这个字 couponDetail.discountType = detailObject .getString("discountType"); JSONObject location = detailObject.getJSONObject("location"); couponDetail.x = location.getString("x"); couponDetail.y = location.getString("y"); list.add(couponDetail); } } catch (JSONException e) { System.out.println("---"); // TODO Auto-generated catch block e.printStackTrace(); } return list; }}
CouponDetail couponDetail = new CouponDetail(); for (int i = 0; i < jsonArray.length(); i++) { ............ list.add(couponDetail); } 看出问题了吗??
知道是CouponDetail couponDetail = new CouponDetail(); 应该写到循环里面去,昨天晚上同学帮忙看出来了,不过还是谢谢你,我是初次在公司里面写项目,不过还是要感谢你
package com.dld.protocol.json;import android.graphics.Shader.TileMode;import com.dld.android.util.LogUtils;
import com.dld.coupon.util.StringUtils;import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;/**
* 打折detail
*
* @author dld
*
*/
public class CouponDetail extends JsonBean implements Detail, Serializable { private static final long serialVersionUID = 1L;
public String address;
public String bank;
public List<BankCouponDetail> banks = new ArrayList<BankCouponDetail>();
public String bizcode;
public String branch_name;
public String bus_route;
public String business_hours;
public String charge_type;
public String cityName;
public int cost;
public int dbId;
public String distance;
public String district;
public String district_name;
public String feature;
public List<GroupDetail> groups = new ArrayList<GroupDetail>();
public String id;
public String introduction;
public String land;
public int likes;
public String name = "";
public int parking;
public ArrayList<Phone> phones = new ArrayList<Phone>();
public double poix;
public double poiy;
public int private_room;
public String province_name;
public String recommendation;
public int reservation;
public int seqnum;
public String service_mask;
public int shop_id;
public String short_name;
public String special_offer;
public String style;
public String telno;
public String ticket_price;
public List<Ticket> tickets = new ArrayList<Ticket>();
public String trade_name;
public String wl_discount;
public String x;
public String y;
public String tel;// mirror新添加字段 public String getTel() {
return tel;
} public void setTel(String tel) {
this.tel = tel;
} // mirror生成tel get set方法 public String shopid;
public String shopname;
public String catname;
public String discount;
public String rank; public String disid;
public String title;
public String image;
public String description;....... get set 方法
// xml解析信息
public static Vector<CouponDetail> fromXmlToAdroundInfo(Element root) {
System.out.println(1);
Vector<CouponDetail> list = new Vector<CouponDetail>(50);
NodeList nlist = root.getElementsByTagName("result");
for (int i = 0; i < nlist.getLength(); i++) {
list.add(fromNode(nlist.item(i))); // System.out.println("add"+fromNode(nlist.item(i)).getAddress()+"街店名字"+fromNode(nlist.item(i)).getShopname()+"街店坐标"+fromNode(nlist.item(i)).x+":"+fromNode(nlist.item(i)).y);
}
// System.out.println("list"+list.toString());
return list;
} private static CouponDetail fromNode(Node n) {
CouponDetail ad = new CouponDetail();
try {
Class cls = ad.getClass();
for (int i = 0; i < n.getChildNodes().getLength(); i++) {
String fieldname = n.getChildNodes().item(i).getNodeName();
Field field = cls.getDeclaredField(fieldname);
field.set(ad, n.getChildNodes().item(i).getFirstChild()
.getNodeValue()); // System.out.println("field"+field.toString());
}
} catch (Exception e) {
// e.printStackTrace();
}
return ad;
} public static Vector<CouponDetail> JsonParseAround(String string) {
// System.out.println(string);
Vector<CouponDetail> list = new Vector<CouponDetail>();
try { JSONObject object = new JSONObject(string);
count = object.getString("count");
type = object.getString("type");
JSONArray jsonArray = (JSONArray) object.get("nearby"); CouponDetail couponDetail = new CouponDetail(); for (int i = 0; i < jsonArray.length(); i++) { // 解析对象
JSONObject detailObject = jsonArray.getJSONObject(i);
couponDetail.id = detailObject.getString("id");
couponDetail.title = detailObject.getString("title");
System.out.println(couponDetail.title);
couponDetail.address = detailObject.getString("address");
couponDetail.telno = detailObject.getString("telephone");
couponDetail.imgurl = detailObject.getString("imgurl");
couponDetail.distance = detailObject.getString("distance");
// 此处distance是1米,包含“米”这个字
couponDetail.discountType = detailObject
.getString("discountType");
JSONObject location = detailObject.getJSONObject("location");
couponDetail.x = location.getString("x");
couponDetail.y = location.getString("y");
list.add(couponDetail);
} } catch (JSONException e) {
System.out.println("---");
// TODO Auto-generated catch block
e.printStackTrace();
} return list;
}}
for (int i = 0; i < jsonArray.length(); i++) {
............
list.add(couponDetail);
}
看出问题了吗??
知道是CouponDetail couponDetail = new CouponDetail();
应该写到循环里面去,昨天晚上同学帮忙看出来了,不过还是谢谢你,我是初次在公司里面写项目,不过还是要感谢你