将json转换为这种格式

时间:2015-08-01 19:43:26

标签: javascript json

给出以下JSON:

{
 "api":{
   "@api" : "{get}",
   "method" : "/user/:id",
   "message" : "Request User information"  
   },
   "@apiName" : "GetUser"
}

如何将其转换为以下(API文档)格式?

/**
 * @api {get} /user/:id Request User information
 * @apiName GetUser
 */

2 个答案:

答案 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;
&#13;
&#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"]);