wrj_bmgl/public/static/index1.html

1112 lines
38 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>OpenAPI definition</title>
<link rel="stylesheet" href="https://unpkg.com/ant-design-vue@1.4.10/dist/antd.min.css" />
<link rel="stylesheet" href="../../../antd.min.css" />
<style>
.content-line {
height: 25px;
line-height: 25px;
}
.content-line-count {
height: 35px;
line-height: 35px;
}
.title {
margin-top: 25px;
}
.knife4j-description {
/* width: 90%;
margin: 15px auto; */
margin-top: 5px;
}
.divider {
margin: 4px 0;
}
.divider-count {
margin: 8px 0;
}
.knife4j-document {
margin-top: 30px;
}
.api-tab {
margin-top: 15px;
.ant-tag {
height: 32px;
line-height: 32px;
}
}
.knife4j-menu-api-deprecated {
text-decoration: line-through;
}
.knife4j-api-title {
margin-top: 10px;
margin-bottom: 5px;
font-size: 16px;
font-weight: 600;
color: #616368;
height: 35px;
line-height: 35px;
}
.knife4j-api-row {
height: 45px;
line-height: 45px;
}
.knife4j-api-summary {
border-color: #49cc90;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 2px;
cursor: pointer;
}
.knife4j-api-summary-method {
font-size: 14px;
font-weight: 700;
min-width: 80px;
padding: 6px 15px;
text-align: center;
border-radius: 3px;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
font-family: Titillium Web, sans-serif;
color: #fff;
}
.knife4j-api-summary-path {
font-size: 14px;
display: flex;
-webkit-box-flex: 0;
-ms-flex: 0 3 auto;
flex: 0 3 auto;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
word-break: break-all;
padding: 0 32px;
}
.knife4j-api-post {
border-color: #49cc90;
background: rgba(73, 204, 144, 0.1);
}
.knife4j-api-post .knife4j-api-summary-method {
background: #49cc90;
}
.knife4j-api-get {
border-color: #61affe;
background: rgba(97, 175, 254, 0.1);
}
.knife4j-api-get .knife4j-api-summary-method {
background: #61affe;
}
.knife4j-api-head {
border-color: #9012fe;
background: rgba(144, 18, 254, 0.1);
}
.knife4j-api-head .knife4j-api-summary-method {
background: #9012fe;
}
.knife4j-api-put {
border-color: #fca130;
background: rgba(252, 161, 48, 0.1);
}
.knife4j-api-put .knife4j-api-summary-method {
background: #fca130;
}
.knife4j-api-delete {
border-color: #f93e3e;
background: rgba(249, 62, 62, 0.1);
}
.knife4j-api-delete .knife4j-api-summary-method {
background: #f93e3e;
}
.knife4j-api-options {
border-color: #0d5aa7;
background: rgba(13, 90, 167, 0.1);
}
.knife4j-api-options .knife4j-api-summary-method {
background: #0d5aa7;
}
.knife4j-api-patch {
border-color: #50e3c2;
background: rgba(80, 227, 194, 0.1);
}
.knife4j-api-patch .knife4j-api-summary-method {
background: #50e3c2;
}
#knife4jDoc ul {
padding-left: 10px;
list-style: none;
counter-reset: ordered;
}
#knife4jDoc ul li:before {
counter-increment: ordered;
content: counters(ordered, ".")" ";
color: #1890ff;
}
.api-basic {
padding: 11px;
}
.api-basic-title {
font-size: 14px;
font-weight: 700;
}
.api-basic-body {
font-size: 14px;
font-family: -webkit-body;
}
.knife4j-api-editor-show {
margin: 15px 0;
font: 100 12px/18px monaco, andale mono, courier new;
padding: 10px 12px;
border: #ccc 1px solid;
border-left-width: 4px;
background-color: #fefefe;
box-shadow: 0 0 4px #eee;
word-break: break-all;
word-wrap: break-word;
color: #444;
}
.knife4j-api-editor-show .string {
color: green;
}
/*字符串的样式*/
.knife4j-api-editor-show .number {
color: darkorange;
}
/*数字的样式*/
.knife4j-api-editor-show .boolean {
color: blue;
}
/*布尔型数据的样式*/
.knife4j-api-editor-show .null {
color: magenta;
}
/*null值的样式*/
.knife4j-api-editor-show .key {
color: red;
}
/*key值的样式*/
.api-description {
border-left: 4px solid #ddd;
line-height: 30px;
}
.api-body-desc {
padding: 10px;
min-height: 35px;
box-sizing: border-box;
border: 1px solid #e8e8e8;
}
.ant-card-body {
padding: 5px;
}
.api-title {
margin-top: 10px;
margin-bottom: 5px;
font-size: 16px;
font-weight: 600;
height: 30px;
line-height: 30px;
border-left: 4px solid #00ab6d;
text-indent: 8px;
}
.content-line {
height: 25px;
line-height: 25px;
}
.content-line-count {
height: 35px;
line-height: 35px;
}
.divider {
margin: 4px 0;
}
.knife4j-doc-m {
position: fixed;
height: 500px;
width: 400px;
border: 1px solid #b7b4b4;
overflow-y: auto;
right: 12px;
top: 40px;
z-index: 9999;
background: #fcfafa;
}
</style>
</head>
<body>
<div id="knife4jDocument" class="resume_preview_page" style="margin:10px auto;width:88%">
<div class="htmledit_views">
<a-row>
<!--分组API信息-->
<!--遍历tags-->
<a-row v-for="tag in tags" :key="tag.name">
<h1 :id="tag.name">{{tag.name}}</h1>
<div class="knife4j-document" v-for="api in tag.childrens">
<!--接口基本信息-->
<a-row>
<a-row :id="api.operationId" class="knife4j-api-title">
<span v-if="api.deprecated" class="knife4j-menu-api-deprecated">
{{ api.summary }}
</span>
<span v-else>
{{ api.summary }}
</span>
</a-row>
<a-row :class="'knife4j-api-' + api.methodType.toLowerCase()">
<div class="knife4j-api-summary">
<span class="knife4j-api-summary-method">{{ api.methodType }}</span>
<span class="knife4j-api-summary-path">{{ api.showUrl }}</span>
</div>
</a-row>
<a-row class="knife4j-api-row">
<a-col :span="12">
<a-row>
<a-col class="api-basic-title" :span="6">请求数据类型</a-col>
{{ api.consumes }}
</a-row>
</a-col>
<a-col :span="12">
<a-row>
<a-col class="api-basic-title" :span="6">响应数据类型</a-col>
{{ api.produces }}
</a-row>
</a-col>
</a-row>
</a-row>
<div v-if="api.author">
<div class="api-title">
开发者
</div>
<div v-if="api.author" v-html="api.author" class="api-body-desc"></div>
</div>
<!--接口描述-->
<div v-if="api.description">
<div class="api-title">
接口描述
</div>
<div v-if="api.description" v-html="api.description" class="api-body-desc"></div>
</div>
<!--请求示例-->
<div v-if="api.requestValue">
<div class="api-title">
请求示例
</div>
<pre class="knife4j-api-editor-show" v-html="formaterJson(api.requestValue)"></pre>
</div>
<div class="api-title">
请求参数
</div>
<a-table default-expand-all-rows :columns="columns" :data-source="api.reqParameters"
:row-key="genUnionTableKey" size="small" :pagination="page">
<template slot="requireTemplate" slot-scope="text">
<span v-if="text" style="color:red">{{ text.toLocaleString() }}</span>
<span v-else>{{ text.toLocaleString() }}</span>
</template>
<template slot="typeTemplate" slot-scope="text">
<span :class="'knife4j-request-' + text">{{ text }}</span>
</template>
<template slot="datatypeTemplate" slot-scope="text, record">
<data-type :text="text" :record="record"></data-type>
</template>
</a-table>
<!--响应状态-->
<div class="api-title">
响应状态
</div>
<a-table :columns="responseStatuscolumns" :data-source="api.responseCodes" row-key="code" size="small"
:pagination="page">
<template slot="descriptionTemplate" slot-scope="text">
<div v-html="text"></div>
</template>
</a-table>
<!--响应参数-->
<!--响应参数需要判断是否存在多个code-schema的情况-->
<div v-if="api.multipartResponseSchema">
<!--多个响应编码code的情况在离线文档中需要单独遍历分开-->
<a-tabs v-for="resp in api.multipCodeDatas" :key="resp.code">
<a-tab-pane :tab="resp.code">
<!--判断响应头-->
<div v-if="resp.responseHeaderParameters">
<div class="api-title">
响应Header
</div>
<a-table :columns="responseHeaderColumns" :data-source="resp.responseHeaderParameters" row-key="id"
size="small" :pagination="page">
</a-table>
</div>
<!--响应参数-->
<div class="api-title">
响应参数
</div>
<a-table :columns="responseParametersColumns" :data-source="resp.data" row-key="id" size="small"
:pagination="page">
</a-table>
<div class="api-title">
响应示例
</div>
<div class="api-editor-show" v-if="resp.responseBasicType">
{{ resp.responseText }}
</div>
<pre class="knife4j-api-editor-show" v-else v-html="formaterJson(resp.responseValue)"></pre>
<!-- <editor-show :value="resp.responseBasicType ? resp.responseText : resp.responseValue"></editor-show> -->
<!-- <editor :value="resp.responseBasicType ? resp.responseText : resp.responseValue" @init="multiResponseSampleEditorInit" lang="json" theme="eclipse" width="100%" :height="editorMultiHeight"></editor> -->
</a-tab-pane>
</a-tabs>
</div>
<div v-else>
<!--判断响应头-->
<div v-if="api.responseHeaderParameters">
<div class="api-title">
响应Header
</div>
<a-table :columns="responseHeaderColumns" :data-source="api.responseHeaderParameters" row-key="id"
size="small" :pagination="page">
</a-table>
</div>
<!--响应参数-->
<div class="api-title">
响应参数
</div>
<a-table :columns="responseParametersColumns" :data-source="api.multipData.data" row-key="id" size="small"
:pagination="page">
</a-table>
<div class="api-title">
响应示例
</div>
<div class="api-editor-show" v-if="api.multipData.responseBasicType">
{{ api.multipData.responseText }}
</div>
<pre class="knife4j-api-editor-show" v-else v-html="formaterJson(api.multipData.responseValue)"></pre>
</div>
<!--接口遍历结束-->
</div>
</a-row>
</a-row>
</div>
</div>
<script src="../../../../upload/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/ant-design-vue@1.4.10/dist/antd.min.js"></script>
<script type="text/javascript">
function getData() {
var datas = {
"tags": [
{
"name": "开放接口",
"description": null,
"order": 2147483647,
"author": null,
"childrens": [
{
"id": "63c699bfacc44e6d5ad63539dace68f5",
"operationId": "exportPatentInformationEntity",
"deprecated": false,
"summary": "专利信息",
"methodType": "POST",
"showUrl": "https://nbys.ydool.com/xzht/api/openApi/patentInformation/pageList",
"consumes": [
"application/x-www-form-urlencoded",
"application/json"
],
"produces": [
"*/*"
],
"author": null,
"description": "",
"requestValue": "{\n \"page\": 0,\n \"size\": 0,\n \"key\": \"\",\n \"type\": \"\",\n \"status\": \"\",\n \"year\": \"\"\n}",
"reqParameters": [
{ "name": "AccessToken", "children": null, "description": "接口调用令牌", "in": "header", "require": true, "type": "string", "schemaValue": null },
{
"name": "patentInformationRequestBody",
"children": [
{
"name": "page",
"children": null,
"description": "当前页,默认1",
"in": null,
"require": false,
"type": "integer(int32)",
"schemaValue": null
},
{
"name": "size",
"children": null,
"description": "每页条数,默认20",
"in": null,
"require": false,
"type": "integer(int32)",
"schemaValue": null
},
{
"name": "key",
"children": null,
"description": "关键字(模糊查询范围,专利名,公司名,公司信用代码,类别名,公开(公布)号,公开(公告)日,申请号)",
"in": null,
"require": false,
"type": "string",
"schemaValue": null
},
{
"name": "type",
"children": null,
"description": "专利类型(发明专利:invent,实用新型:utility_model,外观专利:design patent)",
"in": null,
"require": false,
"type": "string",
"schemaValue": null
},
{
"name": "status",
"children": null,
"description": "专利状态(专利权的放弃:abandonment of patent rights,专利权部分失效:partial patent rights invalidation,专利权的转移:patent rights assignment,专利权全部失效:complete patent rights invalidation,授权:authorized,专利撤回:patent withdrawal,专利申请权的转移:transfer of patent application rights,公开:public,实质审查:under_examination,专利驳回:rejected,专利权的终止:terminated)",
"in": null,
"require": false,
"type": "string",
"schemaValue": null
},
{
"name": "year",
"children": null,
"description": "年份(根据公开(公告)日)",
"in": null,
"require": false,
"type": "string",
"schemaValue": null
}
],
"description": "PatentInformationRequestBody",
"in": "body",
"require": true,
"type": "PatentInformationRequestBody",
"schemaValue": "PatentInformationRequestBody"
}
],
"responseCodes": [
{
"code": "200",
"description": "OK",
"schema": "ResultPagePatentInformationDto"
},
{
"code": "401",
"description": "Unauthorized",
"schema": "Result"
}
],
"multipartResponseSchema": true,
"multipCodeDatas": [
{
"code": "200",
"responseHeaderParameters": null,
"data": [
{
"name": "code",
"children": null,
"description": "响应码",
"id": "param1214",
"type": "integer(int32)",
"schemaValue": "integer(int32)"
},
{
"name": "success",
"children": null,
"description": "是否成功",
"id": "param1215",
"type": "boolean",
"schemaValue": null
},
{
"name": "data",
"children": [
{
"name": "records",
"children": [
{
"name": "id",
"children": null,
"description": "id",
"id": "param1311",
"type": "string",
"schemaValue": null
},
{
"name": "companyId",
"children": null,
"description": "公司id",
"id": "param1312",
"type": "string",
"schemaValue": null
},
{
"name": "companyName",
"children": null,
"description": "公司名",
"id": "param1313",
"type": "string",
"schemaValue": null
},
{
"name": "companyCode",
"children": null,
"description": "公司信用代码",
"id": "param1314",
"type": "string",
"schemaValue": null
},
{
"name": "name",
"children": null,
"description": "专利名称",
"id": "param1315",
"type": "string",
"schemaValue": null
},
{
"name": "applyDate",
"children": null,
"description": "申请日",
"id": "param1316",
"type": "string",
"schemaValue": null
},
{
"name": "typeName",
"children": null,
"description": "专利类型",
"id": "param1317",
"type": "string",
"schemaValue": null
},
{
"name": "statusName",
"children": null,
"description": "专利状态",
"id": "param1318",
"type": "string",
"schemaValue": null
},
{
"name": "applicationNum",
"children": null,
"description": "申请号",
"id": "param1319",
"type": "string",
"schemaValue": null
},
{
"name": "publicationNum",
"children": null,
"description": "公开(公布)号",
"id": "param1320",
"type": "string",
"schemaValue": null
},
{
"name": "publicationDate",
"children": null,
"description": "公开(公告)日",
"id": "param1321",
"type": "string",
"schemaValue": null
}
],
"description": "",
"id": "param1286",
"type": "array",
"schemaValue": "PatentInformationDto"
},
{
"name": "total",
"children": null,
"description": "",
"id": "param1298",
"type": "integer(int64)",
"schemaValue": null
},
{
"name": "size",
"children": null,
"description": "",
"id": "param1299",
"type": "integer(int64)",
"schemaValue": null
},
{
"name": "current",
"children": null,
"description": "",
"id": "param1300",
"type": "integer(int64)",
"schemaValue": null
},
{
"name": "orders",
"children": [
{
"name": "column",
"children": null,
"description": "",
"id": "param1326",
"type": "string",
"schemaValue": null
},
{
"name": "asc",
"children": null,
"description": "",
"id": "param1327",
"type": "boolean",
"schemaValue": null
}
],
"description": "",
"id": "param1301",
"type": "array",
"schemaValue": "OrderItem"
},
{
"name": "optimizeCountSql",
"children": null,
"description": "",
"id": "param1304",
"type": "boolean",
"schemaValue": null
},
{
"name": "searchCount",
"children": null,
"description": "",
"id": "param1305",
"type": "boolean",
"schemaValue": null
},
{
"name": "optimizeJoinOfCountSql",
"children": null,
"description": "",
"id": "param1306",
"type": "boolean",
"schemaValue": null
},
{
"name": "maxLimit",
"children": null,
"description": "",
"id": "param1307",
"type": "integer(int64)",
"schemaValue": null
},
{
"name": "countId",
"children": null,
"description": "",
"id": "param1308",
"type": "string",
"schemaValue": null
},
{
"name": "pages",
"children": null,
"description": "",
"id": "param1309",
"type": "integer(int64)",
"schemaValue": null
}
],
"description": "",
"id": "param1216",
"type": "PagePatentInformationDto",
"schemaValue": "PagePatentInformationDto"
},
{
"name": "count",
"children": null,
"description": "",
"id": "param1265",
"type": "integer(int32)",
"schemaValue": "integer(int32)"
},
{
"name": "message",
"children": null,
"description": "描述",
"id": "param1266",
"type": "string",
"schemaValue": null
},
{
"name": "checked",
"children": null,
"description": "",
"id": "param1267",
"type": "array",
"schemaValue": null
}
],
"responseBasicType": false,
"responseText": null,
"responseValue": "{\n\t\"code\": 0,\n\t\"success\": true,\n\t\"data\": {\n\t\t\"records\": [\n\t\t\t{\n\t\t\t\t\"id\": \"\",\n\t\t\t\t\"companyId\": \"\",\n\t\t\t\t\"companyName\": \"\",\n\t\t\t\t\"companyCode\": \"\",\n\t\t\t\t\"name\": \"\",\n\t\t\t\t\"applyDate\": \"\",\n\t\t\t\t\"typeName\": \"\",\n\t\t\t\t\"statusName\": \"\",\n\t\t\t\t\"applicationNum\": \"\",\n\t\t\t\t\"publicationNum\": \"\",\n\t\t\t\t\"publicationDate\": \"\"\n\t\t\t}\n\t\t],\n\t\t\"total\": 0,\n\t\t\"size\": 0,\n\t\t\"current\": 0,\n\t\t\"orders\": [\n\t\t\t{\n\t\t\t\t\"column\": \"\",\n\t\t\t\t\"asc\": true\n\t\t\t}\n\t\t],\n\t\t\"optimizeCountSql\": true,\n\t\t\"searchCount\": true,\n\t\t\"optimizeJoinOfCountSql\": true,\n\t\t\"maxLimit\": 0,\n\t\t\"countId\": \"\",\n\t\t\"pages\": 0\n\t},\n\t\"count\": 0,\n\t\"message\": \"\",\n\t\"checked\": []\n}"
},
{
"code": "401",
"responseHeaderParameters": null,
"data": [
{
"name": "code",
"children": null,
"description": "响应码",
"id": "param1268",
"type": "integer(int32)",
"schemaValue": "integer(int32)"
},
{
"name": "success",
"children": null,
"description": "是否成功",
"id": "param1269",
"type": "boolean",
"schemaValue": null
},
{
"name": "data",
"children": null,
"description": "数据",
"id": "param1270",
"type": "object",
"schemaValue": null
},
{
"name": "count",
"children": null,
"description": "",
"id": "param1271",
"type": "integer(int32)",
"schemaValue": "integer(int32)"
},
{
"name": "message",
"children": null,
"description": "描述",
"id": "param1272",
"type": "string",
"schemaValue": null
},
{
"name": "checked",
"children": null,
"description": "",
"id": "param1273",
"type": "array",
"schemaValue": null
}
],
"responseBasicType": false,
"responseText": null,
"responseValue": "{\n\t\"code\": 0,\n\t\"success\": true,\n\t\"data\": {},\n\t\"count\": 0,\n\t\"message\": \"\",\n\t\"checked\": []\n}"
}
],
"responseHeaderParameters": null,
"multipData": {}
}
],
"hasNew": false,
"hasChanged": false
},
]
};
//console(datas);
return datas;
}
function main() {
//当前接口json数据
var d = getData();
//请求参数table-header
const requestcolumns = [
{
title: "参数名称",
dataIndex: "name",
width: "30%"
},
{
title: "参数说明",
dataIndex: "description",
width: "25%"
},
{
title: "请求类型",
dataIndex: "in",
scopedSlots: { customRender: "typeTemplate" }
},
{
title: "是否必须",
dataIndex: "require",
scopedSlots: { customRender: "requireTemplate" }
},
{
title: "数据类型",
dataIndex: "type",
scopedSlots: { customRender: "datatypeTemplate" }
},
{
title: "schema",
dataIndex: "schemaValue",
width: "15%"
}
];
//响应状态table-header
const responseStatuscolumns = [
{
title: "状态码",
dataIndex: "code",
width: "20%"
},
{
title: "说明",
dataIndex: "description",
width: "55%",
scopedSlots: { customRender: "descriptionTemplate" }
},
{
title: "schema",
dataIndex: "schema"
}
];
//响应头-header
const responseHeaderColumns = [
{
title: "参数名称",
dataIndex: "name",
width: "30%"
},
{
title: "参数说明",
dataIndex: "description",
width: "55%"
},
{
title: "数据类型",
dataIndex: "type"
}
];
const responseParametersColumns = [
{
title: "参数名称",
dataIndex: "name",
width: "35%"
},
{
title: "参数说明",
dataIndex: "description",
width: "40%"
},
{
title: "类型",
dataIndex: "type"
},
{
title: "schema",
dataIndex: "schemaValue",
width: "15%"
}
];
//dataType组件
var dataType = {
name: "DataType",
props: {
text: {
type: String,
required: true
},
record: {
type: Object,
required: true
}
},
data: function () {
return {
validators: []
}
},
created() {
this.intiValidator();
},
methods: {
intiValidator() {
var that = this;
const record = this.record;
if (record.validateInstance != null) {
var len = that.getJsonKeyLength(record.validateInstance);
var _size = 0;
for (var k in record.validateInstance) {
var str = k + ":" + record.validateInstance[k];
that.validators.push({ key: k, val: str });
}
}
},
getJsonKeyLength(json) {
var size = 0;
if (json != null) {
for (var key in json) {
if (json.hasOwnProperty(key)) size++;
}
}
return size;
}
},
template: '<div><span v-if="!record.validateStatus">{{text}}</span><span v-else class="knife4j-request-validate-jsr"><a-tooltip placement="right"><template slot="title"><div v-for="pt in validators" :key="pt.key">{{pt.val}}</div></template>{{text}}</a-tooltip></span></div>'
}
var data = {
tags: d.tags,
instance: d.instance,
columns: requestcolumns,
responseHeaderColumns: responseHeaderColumns,
responseStatuscolumns: responseStatuscolumns,
responseParametersColumns: responseParametersColumns,
expanRows: true,
//接收一个响应信息对象,遍历得到树形结构的值
multipCode: false,
multipCodeDatas: [],
multipData: {},
page: false,
hideShow: true
}
new Vue({
el: "#knife4jDocument",
components: {
"DataType": dataType
},
data() {
return data
},
mounted() {
//初始化完成
//赋予点击事件;
document.getElementById("btnHide").addEventListener("click", function () {
//隐藏目录
var doc = document.getElementById("knife4jDoc");
var docGlobal = document.getElementById("knife4j-doc-m");
if (doc.style.display == "none") {
doc.style.display = "";
document.getElementById("btnHide").innerHTML = "隐 藏";
docGlobal.style.width = "400px";
docGlobal.style.height = "500px";
} else {
doc.style.display = "none";
document.getElementById("btnHide").innerHTML = "目 录";
docGlobal.style.width = "52px";
docGlobal.style.height = "35px";
}
})
},
created() {
},
methods: {
genUnionTableKey() {
var key = "param" + new Date().getTime().toString() + Math.floor(Math.random() * 1000000).toString();
return key;
},
formaterJson(json) {
try {
if (typeof json != "string") {
json = JSON.stringify(json, undefined, 2);
}
json = json
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
return json.replace(
/("(\u[a-zA-Z0-9]{4}|\[^u]|[^\"])*"(s*:)?|(true|false|null)|-?d+(?:.d*)?(?:[eE][+-]?d+)?)/g,
function (match) {
var cls = "number";
if (/^"/.test(match)) {
if (/:$/.test(match)) {
cls = "key";
} else {
cls = "string";
}
} else if (/true|false/.test(match)) {
cls = "boolean";
} else if (/null/.test(match)) {
cls = "null";
}
return '<span class="' + cls + '">' + match + "</span>";
}
);
} catch (error) {
return json;
}
}
}
})
}
main();
</script>
</body>
</html>