根据字段名称和字段类型自动生成json示例

在写接口文档时,需要附上接口请求或返回的json示例,如果接口已经存在则可以直接从接口返回结果中拷贝。如果接口还未定义,则可以使用下面工具来生成json示例,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>

</head>
<body>
    <h3>使用方法:将字段名称列和字段类型列数据拷贝到待解析文本域中,点击解析按钮即可自动生成json实例并自动赋值到粘贴板中。<br/>支持Excel表格数据和word中的表格数据</h3>
    <h1>待解析文本</h1>
    <textarea id="AnswerText" rows="15" style="width:500px"></textarea>
	<button id="BtnNow" style="width:50px;height:50px;">解析</button>
    <br />
	<h1>解析后文本</h1>
    <textarea id="AnswerAnalysis" rows="20" style="width:500px"></textarea>

    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript">
        $("#BtnNow").on("click", function () {
            var vHtml = "";
            var _answerText = $("#AnswerText").val();
            if (_answerText != "") {
                var vArr = _answerText.split("\n");//按行拆分
                //console.log(vArr);
                for (var i = 0; i < vArr.length; i++) {
                    var v1 = vArr[i];
                    var vArr1 = v1.split("\t");//按空格拆分

                    var filedName = vArr1[0];//字段名称英文
					var fieldType= vArr1[1];//字段类型
					var fieldValue="";

					if(fieldType=='字符串'){
						if(filedName =='OPERATE_TYPE'){
							fieldValue="I";
						}else if(filedName =='CREATE_USERNAME' || filedName =='OPERATE_USERNAME' || filedName =='AUDIT_USERNAME'){
							fieldValue="管理员";
						}else if(filedName =='FID'  || filedName =='RESOURCE_ID'){
							fieldValue="1";
						}else if(filedName =='CORPNO'  || filedName =='SOURCECORPNO'){
							fieldValue="CO000001";
						}else{
							fieldValue="示例文字";
						}
						
						vHtml += '"'+ vArr1[0] + '":"' + fieldValue + '",\n'//要输出的文本
					}else if(fieldType=='数字'){
						fieldValue=1;
						vHtml += '"'+ vArr1[0] + '":' + fieldValue + ',\n'//要输出的文本
					}else if(fieldType=='日期'){
						
                        if(filedName=="FCREATETIME" || filedName=="FLASTUPDATETIME" || filedName=="CREATE_DATE" || filedName=="OPERATE_DATE" || filedName=="AUDIT_DATE"){
							fieldValue=getNowFormatDateAll();
                        }else{
							fieldValue=getNowFormatDate();
                        }

                        vHtml += '"'+ vArr1[0] + '":"' + fieldValue + '",\n'//要输出的文本
						
					 }else{
						fieldValue="";
						vHtml += '"'+ vArr1[0] + '":"' + fieldValue + '",\n'//要输出的文本
					}
                }

				var jsonStr="[{" + vHtml +"},{"+ vHtml + "}]";
                $("#AnswerAnalysis").html(jsonStr);

				//将待解析文本域清空
                $("#AnswerText").val("");

				//将内容复制到粘贴板
				var text = $('#AnswerAnalysis'); 
				text.select();
				document.execCommand("Copy");
            }
        });

		
		//获取当前时间,格式YYYY-MM-DD
		function getNowFormatDate() {
			var date = new Date();
			var seperator1 = "-";
			var year = date.getFullYear();
			var month = date.getMonth() + 1;
			var strDate = date.getDate();
			if (month >= 1 && month <= 9) {
				month = "0" + month;
			}
			if (strDate >= 0 && strDate <= 9) {
				strDate = "0" + strDate;
			}
			var currentdate = year + seperator1 + month + seperator1 + strDate;
			return currentdate;
		}


		function add(m){
			return m<10?'0'+m:m
		}
 
		//获取当前时间,格式YYYY-MM-DD hh:mm:ss
		function getNowFormatDateAll() {
			var date = new Date();
			var seperator1 = "-";
			var year = date.getFullYear();
			var month = date.getMonth() + 1;
			var strDate = date.getDate();
			if (month >= 1 && month <= 9) {
				month = "0" + month;
			}
			if (strDate >= 0 && strDate <= 9) {
				strDate = "0" + strDate;
			}
			var currentdate = year + seperator1 + month + seperator1 + strDate;

			var h = date.getHours();
			var mm = date.getMinutes();
			var s = date.getSeconds();

			currentdate = currentdate +' '+add(h)+':'+add(mm)+':'+add(s);

			return currentdate;
		}
    </script>
</body>
</html>

使用方法:

1.将上面的代码拷贝出来,放到txt文件中,然后把文件后缀名改为html(网页格式),使用浏览器打开。打开后可以看到如下页面:

2.将要生成的字段名称和字段类型放入待解析文本域中,点击解析按钮:

3.点击解析按钮后,就可以看到在下方文本域中自动生成了json字符串。

4.这里会生成两个json对象,字段信息是一样的,在每个对象的最后一个字段后面,需要把逗号删掉,不然json解析会失败。

5.将上面生成的json字符串进行解析看下格式对不对:

放入解析网页,可以正常解析,就说明生成的json字符串格式是对的。

这个工具的代码可以根据实际情况进行修改,使用这个小工具的好处是不用一个字段一个字段去写。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值