val jsonObj = JSONObject()
   jsonObj.put("policeNo", WorkBenchSP.policeNo)
   jsonObj.put("id", taskId)
   jsonObj.put("transmits", forwardInfo.value)
   jsonObj.put("policeNos", policeNoStr)
   val map = mutableMapOf<String, Any?>()
   map["user_id"] = WorkBenchSP.iDNo
   map["device_id"] = WorkBenchSP.deviceId
   map["content"] = jsonObj
   map["method"] = "doOaTodoTran"

情况1:直接使用jsonObj对象,多了一层key----> nameValueParis,呈现的效果如下:
在这里插入图片描述
情况2:使用jsonObj.toString(),参数传递时,json字符串会被转义:

 map["content"] = jsonObj.toString()

效果如下:
在这里插入图片描述

使用JsonObject(成功):

com.google.gson.JsonObject

    val jsonObj = JsonObject()
    jsonObj.addProperty("policeNo", "")
    jsonObj.addProperty("id", taskId)
    jsonObj.addProperty("transmits", forwardInfo.value)
    jsonObj.addProperty("policeNos", policeNoStr.toString())
    val map = mutableMapOf<String, Any?>()
    map["user_id"] = WorkBenchSP.iDNo
    map["device_id"] = WorkBenchSP.deviceId
    map["content"] = jsonObj
    map["method"] = "doOaTodoTran"
                    想要实现的效果:content中参数是json类型:使用JSONObject(失败):org.json.JSONObject   val jsonObj = JSONObject()   jsonObj.put("policeNo", WorkBenchSP.policeNo)   jsonObj.put("id", taskId)   jsonObj.put("transmits", forwardInfo.value)   jsonObj.put("policeNos", poli
复制代码 代码如下:var post_Str = apply_name.replace(/\+/g, “+”);//”+”转义   
var post_Str= post_Str.replace(/\&/g, “&″);//”&” 
var post_Str= post_Str.replace(/\#/g, “#″);//
				
JSon串在被串行化后保存在文件,读取字符串时,是不能直接拿来用JSON.parse()解析为JSON  对象的。因为它是一个字符串,不是一个合法的JSON对象格式。例如下面的JSON串保存在文件,读出来不能直接解析: “{\”resourceId\”:\”dfead70e4ec5c11e43514000ced0cdcaf\”,\”properties\”:{\”process_id\”:\”process4\”,\”name\”:\”\”,\”documentation\”:\”\”,\”processformtemplate\”:\”\”}}” 这个串如果出现在代码是没有问题的
废话不多说。之前在写前端时,看了控制台数据传输时正常的10018-001->,但是到了后台直接变成了10018-001-&gt当时抓狂了!!! 最后在伟大的度娘上找到了解决方法!!!! 最后利用java的StringEscapeUtils.unescapeHtml4,成功解决问题! 直接上代码 String s = StringEscapeUtils.unescapeHtml4(bomNo) 接收bomNo进行编译成String的s 这样就行了!!!
apipost v5版本使用的时候,发送json格式的,后台接收的时候会有转移字符。但是后台接收的数据不能出现其他字符。 解决这个问题的办法,就是打开设置把发送数据json化选择为开启状态,传递的接送参数就不会出现转移字符.
在做接口自动化测试的时候,遇到了一个带有json参数post请求接口,由于请求的参数设置不对,导致一直返回415之后查询了httpclient对json参数的相关信息,终于完成了对该接口的调试,以下为实践步骤: 1.将json参数定义为一个字符串,用来传给接口(也可以直接传json数据): String js = "{\"advice\":\"apiAutoTestForSaveAdvic...