接口遇到jsonString应该怎么处理

 

对于未接触过接口测试的测试同学们来说,是个新的东东,研发可以略过。

接口接测试返回jsonString串,怎么参数化?

1、通过IE或Chrome浏览器,截取请求内容。

IE如下,这个Json将  + / = 等符号编码成了%开头 %2B(+) %2F(/) %3D(=),所以用Base64无法解码。Chrome没有此问题,推荐非IE的浏览器。

Base64在线解码工具:http://tools.jb51.net/tools/base64_decode-utf8.php

Chrome Json

 

2.用解码工具将Json解码得到原文

 

3.参数化原文

这个不多讲了,主要讲一下Json的三种传送格式,分别是明文标准、带转义和base64编码过的。

发送,如果服务器标准的优先,如果有校验则需要先进行base64编码后再发送给服务器。

标准
{"dataResult":"",limit":20,"role":"","start":0,"totalCount":7}

 

带转义
{"exportFileType":"access","exportType":"1","exportLogs":"[{\"LOG_ID\":\"16\",\"OPERATOR\":\"CN=系统管理员,O=jit,C=cn\",\"OPERATOR_IP\":\"172.16.14.151\",\"CREATE_TIME\":\"20170724130612907\",\"OPERAT_CONTENT\":\"日志清空\",\"OPERAT_RESULT\":\"成功\",\"OPERAT_DATA\":\"日\",\"CLIENT_SIGN\":\"\"}]","exportLog":"null","maxExportRecordNum":"10000","startDate":"","OWASP_CSRFTOKEN":"SQML-Z32X-7SPY-VSWQ-EC3N-SDON-ARPU-WOCH"}

 

 

进行base64编码过的
eyJleHBvcnRGaWxlVHlwZSI6ImFjY2VzcyIsImV4cG9ydFR5cGUiOiIxIiwiZXhwb3J0TG9ncyI6Ilt7XCJMT0dfSURcIjpcIjE2XCIsXCJPUEVSQVRPUlwiOlwiQ04957O757uf566h55CG5ZGYLE89aml0LEM9Y25cIixcIk9QRVJBVE9SX0lQXCI6XCIxNzIuMTYuMTQuMTUxXCIsXCJDUkVBVEVfVElNRVwiOlwiMjAxNzA3MjQxMzA2MTI5MDdcIixcIk9QRVJBVF9DT05URU5UXCI6XCLml6Xlv5fmuIXnqbpcIixcIk9QRVJBVF9SRVNVTFRcIjpcIuaIkOWKn1wiLFwiT1BFUkFUX0RBVEFcIjpcIuaXpeW

 --------------------------------

工具简介

Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’。

为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

Base64编码表

码值字符码值字符码值字符码值字符码值字符码值字符码值字符码值字符
0 A 8 I 16 Q 24 Y 32 g 40 o 48 w 56 4
1 B 9 J 17 R 25 Z 33 h 41 p 49 x 57 5
2 C 10 K 18 S 26 a 34 i 42 q 50 y 58 6
3 D 11 L 19 T 27 b 35 j 43 r 51 z 59 7
4 E 12 M 20 U 28 c 36 k 44 s 52 0 60 8
5 F 13 N 21 V 29 d 37 l 45 t 53 1 61 9
6 G 14 O 22 W 30 e 38 m 46 u 54 2 62 +
7 H 15 P 23 X 31 f 39 n 47 v 55 3 63 /

 

----------------------------------

Unicode编码:http://tool.chinaz.com/tools/unicode.aspx

 

 

posted @ 2017-07-28 13:52  白灰  阅读(902)  评论(0)    收藏  举报