1.后台过来的hashMap,原原本本地再返回回去。
后台传过来的字段是这样子的:
"use_trip":{“08-28”:“萨达”,“08-29”:“不好吧”}
我本地是用HashMap<String, String> use_trip去接收这个字段的。
然后现在后台需要原原本本的再把这个数据传回去。
这个时候我们需要这么去转换
JSONObject jsonObj = new JSONObject(mTripChangeEntity.use_trip);//mTripChangeEntity这个是实体,use_trip对应上面过来的字段
String content = jsonObj.toString();//这样又转成原原本本的json串啦
2.后台过来的hashMap,处理成08-28:萨达的字符串
"use_trip":{“08-28”:“萨达”,“08-29”:“不好吧”}
嗯,没错还是这个,这次我们需要把它转成一串字符串而且要是下面这种
08-28:萨达
08-29:不好吧
public static String getMapToString(HashMap<String, String> map) {
if (map != null) {
Set<String> keySet = map.keySet();
String[] keyArray = keySet.toArray(new String[keySet.size()]);
StringBuilder sb = new StringBuilder();
for (String key : keyArray) {
if (map.get(key).trim().length() > 0) {
sb.append(key).append(":").append(map.get(key).trim()).append("n");//把它拼成key:value 然后换行
}
}
return sb.toString();
}
return "";
}
3.对象赋值后,不改变原来对象的值
这个是个基础,记录下吧。把对象A赋值给对象B,然后改变了B里面一个参数的值,导致了A对应的值也改变了错误示范
public AreaParam mStartAreaParam=new AreaParams();
AreaParam areaParams =mStartAreaParam;//不能这么整,这样改了areaParams 里的参数,mStartAreaParam也会变
正确示范
AreaParams areaParams =new AreaParams();
String areaJson =new Gson().toJson(mStartAreaParam);
areaParams=(AreaParams)JsonUtil.fromJson(areaJson,AreaParams.class);//这样才是真正的值拷贝,改变新对象不会影响到原来的对象