android端上传后台数据 string字符串拼接问题

在Android中向后台提交JSON数据时,通常会遇到字符串拼接问题,特别是当涉及到Map数据类型时。Gson转换的JSON字符串可能包含换行符,不满足后台接收的格式。为了解决这个问题,可以采取手动拼接的方式来创建所需的格式。通过遍历Map,去除转义字符并正确添加双引号,确保生成的JSON字符串符合后台要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如题 ,上传后台数据的时候后台接受json 一般情况下就是前端提交的的时候将要传递的值转成json。

一般转json前都是以实体的方式放进去。例如  user  user= new user();

                             把你要放的字段对应放到user实体类里面

                              例如:user.setName("张山");

                                         user.setSex("男");

                                   Gson g = new Gson();

                                   然后String strGson = g.toJson(user);

                    提交时strGson 实际上 = “{“name”:"张山",“sex”:"男"}”

                       注意有时候提交个别的数据类型toJson后仍然没法做到“{“name”:"张山",“sex”:"男"}”这样的格式  像map 直接to json是有换行符的转后的值

              像这样:

                          "{\"violateFee\":\"实收违章押金(元)\",\"yearCheckFee\":\"实收年检押金(元)\",\"guaranteeFee\":\"实收征信服务费(元)\",\"consultingFee\":\"实收咨询费                             (元)\",\"activationFee\":\"实收开户费(元)\"}"

          就是map 数据类型toJson后的数据:

                       没找到合适的方法转成后台接受的数据格式就用最原始的办法

                自己拼接,注意此刻你的目的是要去掉转义符 "\"

   1:

         for (Map.Entry<String, Object> entry : resData.entrySet()) {
       
               FeetoString += "\"" + entry.getKey() + "\"" + ":" + "\"" + entry.getValue() + "\"" + ",";
                 
             }


        这样加上 \" 相当于去掉了转义符 \

    2:同时 一个 \" 相当于  一个单引号 “  所以在碰到拼接字符串时 需要拼接引号 正确的方式是: 

            String  name = "\"" +文本信息 +"\"" ;


         这个转义符有时候真的很讨嫌  实在不行就用最原始的方法拼接。        



  

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值