string转成对象_安卓中关于HashMap的存值,以及转成string;对象的改变

b638d0329de3aabfc6768d3ab4c26fb0.png

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);//这样才是真正的值拷贝,改变新对象不会影响到原来的对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值