给出以下JSON:
{
"api":{
"@api" : "{get}",
"method" : "/user/:id",
"message" : "Request User information"
},
"@apiName" : "GetUser"
}
如何将其转换为以下(API文档)格式?
/**
* @api {get} /user/:id Request User information
* @apiName GetUser
*/
答案 0 :(得分:3)
非常简单。只是字符串连接和导航JSON对象的问题。如果使用template strings完成,可能会更干净。
function convertToDocumentationComment (json) {
var str = '/**\n'
str += ('* @api ' + json.api['@api'] + ' ' + json.api.method + ' ' + json.api.message + '\n')
str += ('* @apiName ' + json.api['@apiName'] + '\n')
str += '*/'
return str
}
这是一个测试:
function convertToDocumentationComment (json) {
var str = '/**\n'
str += ('* @api ' + json.api['@api'] + ' ' + json.api.method + ' ' + json.api.message + '\n')
str += ('* @apiName ' + json.api['@apiName'] + '\n')
str += '*/'
return str
}
var json = {
"api":{
"@api" : "{get}",
"method" : "/user/:id",
"message" : "Request User information"
},
"@apiName" : "GetUser"
}
var r = convertToDocumentationComment(json)
document.write(r.replace(/\n/g, '<br>'))
&#13;
答案 1 :(得分:2)
我不确定我是否正确解释了您的问题,但您是否尝试使用某些JSON中的数据生成文档块?
如果是这样,您可以使用JSON.parse,然后访问构建字符串所需的属性。我可能会在模板中使用替换,如下所示(但这远不是最快的方法,我确定)
您缺少对格式的描述,但您需要遵循该说明来确定如何使用此格式。
var k = JSON.parse('{"@api" : "{get}"}');
var paramTpl = "* {name} {method} {message}\n";
var parameter = paramTpl.replace('{name}', k["@api"]);