Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将json转换为这种格式_Javascript_Json - Fatal编程技术网

Javascript 将json转换为这种格式

Javascript 将json转换为这种格式,javascript,json,Javascript,Json,给定以下JSON: { "api":{ "@api" : "{get}", "method" : "/user/:id", "message" : "Request User information" }, "@apiName" : "GetUser" } 如何将其转换为以下(API文档)格式 很简单。只是字符串连接和导航JSON对象的问题。如果处理完,可能会更干净 这里有一个测试: 函数convertToDocumentationComment(json)

给定以下JSON:

{
 "api":{
   "@api" : "{get}",
   "method" : "/user/:id",
   "message" : "Request User information"  
   },
   "@apiName" : "GetUser"
}
如何将其转换为以下(API文档)格式


很简单。只是字符串连接和导航JSON对象的问题。如果处理完,可能会更干净

这里有一个测试:
函数convertToDocumentationComment(json){
var str='/**\n'
str+=('*@api'+json.api['@api']+''+json.api.method+''+json.api.message+'\n')
str+=('*@apiName'+json.api['@apiName']+'\n')
str+='*/'
返回str
}
var json={
“api”:{
“@api”:“{get}”,
“方法”:“/user/:id”,
“消息”:“请求用户信息”
},
@apiName:“GetUser”
}
var r=convertToDocumentationComment(json)

document.write(r.replace(/\n/g,
我不确定我是否正确解释了您的问题,但您是否试图使用一些JSON中的数据生成该问题的文档块

如果是这样,您可以使用JSON.parse,然后访问构建字符串所需的属性。我可能会在模板中使用替换,如下面所示(但我肯定这远不是最快的方法)

缺少对格式的描述,但您需要按照该描述确定如何使用该格式

var k = JSON.parse('{"@api" : "{get}"}');

var paramTpl = "* {name} {method} {message}\n";
var parameter = paramTpl.replace('{name}', k["@api"]);
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 k = JSON.parse('{"@api" : "{get}"}');

var paramTpl = "* {name} {method} {message}\n";
var parameter = paramTpl.replace('{name}', k["@api"]);