0


postman中为JSON数据写注释信息

索引

问题描述

在使用postman进行接口测试的时候,总是会碰到一个问题,请求参数如果是 json 格式时是不支持注释的,会将注释也一并发送出去,后端接受后可能会导致数据不正确。
在这里插入图片描述

解决方案

使用正则匹配的方法,利用Pre-request Script(前置脚本)预处理发送出去的JSON格式信息

添加方法

添加预处理脚本

处理效果

效果
文档效果

预处理函数代码

方法代码如下:

//去除json参数中的注释信息GlobalJsonMinify=function(json){var tokenizer =/"|(\/\*)|(\*\/)|(\/\/)|\n|\r|\[|]/g,
        in_string =false,
        in_multiline_comment =false,
        in_singleline_comment =false,
        tmp, tmp2, new_str =[], ns =0, from =0, lc, rc,
        prevFrom
    ;

    tokenizer.lastIndex =0;while( tmp = tokenizer.exec(json)){
        lc = RegExp.leftContext;
        rc = RegExp.rightContext;if(!in_multiline_comment &&!in_singleline_comment){
            tmp2 = lc.substring(from);if(!in_string){
                tmp2 = tmp2.replace(/(\n|\r|\s)*/g,"");}
            new_str[ns++]= tmp2;}
        prevFrom = from;
        from = tokenizer.lastIndex;if(tmp[0]==="\""&&!in_multiline_comment &&!in_singleline_comment){
            lc.lastIndex = prevFrom;
            tmp2 = lc.match(/(\\)*$/);if(!in_string ||!tmp2 ||(tmp2[0].length %2)===0){
                in_string =!in_string;}
            from--; 
            rc = json.substring(from);}elseif(tmp[0]==="/*"&&!in_string &&!in_multiline_comment &&!in_singleline_comment){
            in_multiline_comment =true;}elseif(tmp[0]==="*/"&&!in_string && in_multiline_comment &&!in_singleline_comment){
            in_multiline_comment =false;}elseif(tmp[0]==="//"&&!in_string &&!in_multiline_comment &&!in_singleline_comment){
            in_singleline_comment =true;}elseif((tmp[0]==="\n"|| tmp[0]==="\r")&&!in_string &&!in_multiline_comment && in_singleline_comment){
            in_singleline_comment =false;}elseif(!in_multiline_comment &&!in_singleline_comment &&!(/\n|\r|\s/.test(tmp[0]))){
            new_str[ns++]= tmp[0];}}
    new_str[ns++]= rc;return new_str.join("");};

pm.request.body.raw =GlobalJsonMinify(pm.request.body.raw)
标签: json postman javascript

本文转载自: https://blog.csdn.net/qq_43233225/article/details/129297271
版权归原作者 青及笄 所有, 如有侵权,请联系我们删除。

“postman中为JSON数据写注释信息”的评论:

还没有评论