在写接口文档时,需要附上接口请求或返回的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字符串格式是对的。
这个工具的代码可以根据实际情况进行修改,使用这个小工具的好处是不用一个字段一个字段去写。