在android中把json转换为hashmap,代码如下:
import java.util.HashMap;
import java.util.Iterator;
导入java.util.List;
导入java.util.Map;
导入java.util.Map.Entry;
导入net.sf.json .JSONArray;
导入 net.sf.json.JSONException;
导入 net.sf.json.JSONObject;
导入 com.wideyou.model.ExpressOrder ;
导入 com.wideyou.warehouse.model.Storage;
public class HelperFunction {
public ExpressOrder ExpressOrderClassCast(JSONObject reserJson){
ExpressOrder expressOrder=new ExpressOrder();
expressOrder.setCid(Integer.parseInt(reserJson.getString("userId")));
expressOrder.setSendPerson(reserJson.getString ("sendPerson"));
expressOrder.setSendPhone(reserJson.getString("sendPhone"));
expressOrder.setSendAddress(reserJson.getString("sendAddress"));
expressOrder.setBeginAddress(reserJson.getString("beginAddress"));
expressOrder.setOtherDes(reserJson.getString("otherDes"));
expressOrder. setEndAddress(reserJson.getString("endAddress"));
expressOrder.setReservPerson(reserJson.getString("reservPerson"));
expressOrder.setReservPhone(reserJson.getString("reservPhone) "));
expressOrder.setReservAddress(reserJson.getString("reservAddress"));
expressOrder.setPostCode(reserJson.getString("reservAddress"));
expressOrder.setPayId(Integer.parseInt(reserJson.getString)
("payId")));
返回expressOrder;
}
public Storage StorageClassCast(JSONObject reserJson){
存储存储=new Storage();
storage.setSname(reserJson.getString("sname"));
storage.setCount(Integer.parseInt(reserJson.getString("count")) ));
返回存储;
}
public static int getCid(JSONObject reserJson, boolean isConsumer){
if(isConsumer ){
return Integer.parseInt(reserJson.getString("userId"));
}else{
return Integer.parseInt(reserJson.getString( "memberId"));
}
}
//map转换为json字符串
public static String hashMapToJson(HashMap map) {
String string = "{";
for (Iterator it = map.entrySet().iterator(); it.hasNext();) {
>Entry e = (Entry) it.next();
string = "'" e.getKey() "':";
string = "'" e.getValue() "',";
}
string = string.substring(0, string.lastIndexOf(","));
string = "}";
返回字符串;
}
public static void JsonObject2HashMap(JSONObject jo, Listgt; rstList) {
for (Iteratorkeys = jo.keys();keys.hasNext();) {
尝试{
String key1 =keys.next();
System.out.println("key1---" key1 "-----" jo.get(key1)
(jo.get(key1) JSONObject实例) jo.get( key1)
(jo.get(key1) instanceof JSONArray));
if (j
o.get(key1) instanceof JSONObject) {
JsonObject2HashMap((JSONObject) jo.get(key1), rstList);
继续;
}
if (jo.get(key1) instanceof JSONArray) {
JsonArray2HashMap((JSONArray) jo.get(key1), rstList);
继续;
}
System.out.println("key1:" key1 "---------jo.get(key1):"
jo.get(key1));
json2HashMap(key1, jo.get(key1), rstList);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
public static void JsonArray2HashMap(JSONArray joArr,
Listgt; rstList) {
for (int i = 0; i lt; joArr.size(); i ) {
尝试{
if (joArr.get(i) instanceof JSONObject) {
JsonObject2HashMap((JSONObject) joArr.get(i), rstList);
继续;
}
if (joArr.get(i) instanceof JSONArray) {
JsonArray2HashMap((JSONArray) joArr.get(i), rstList);
继续;
}
System.out.println("Exception~~~~~");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
public static void json2HashMap(String key, 对象值,
Listgt; rstList) {
HashMap map = new HashMap();
map.put(key, value);
rstList.add(map);
}
}