在TypeScript中提取JSON嵌套键并映射至OpenApi接口
解决方案:提取OpenAPI JSON中的Paths键为数组
要实现从复杂OpenAPI JSON字符串中提取paths字段的所有键名并转换为字符串数组,只需以下几个简单步骤:
实现代码
export interface OpenApi { paths: string[]; } function parseOpenApiPaths(jsonStr: string): OpenApi { // 解析输入的JSON字符串 const parsedJson = JSON.parse(jsonStr); // 提取paths的键数组,若paths字段不存在则返回空数组 const pathKeys = parsedJson.paths ? Object.keys(parsedJson.paths) : []; return { paths: pathKeys }; } // 示例使用 const sampleJson = `{ "openapi": "3.0.1", "info": { "title": "title", "version": "2018-05-10" }, "paths": { "/api/path1": {}, "/api/path2": {}, "/api/path3": {} } }`; const openApiResult: OpenApi = parseOpenApiPaths(sampleJson); console.log(openApiResult.paths); // 输出: ["/api/path1", "/api/path2", "/api/path3"]
关键说明
- JSON解析:使用原生
JSON.parse()处理合法JSON字符串,若需要处理可能的无效JSON,可以包裹在try/catch块中避免报错。 - 提取键名:
Object.keys()方法直接返回对象的所有可枚举键名,完美匹配提取paths下所有路径的需求。 - 边界处理:增加了
parsedJson.paths存在性判断,确保即使JSON中没有paths字段,也能返回合法的空数组,避免运行时异常。
内容的提问来源于stack exchange,提问作者Andrew Eells
相关产品推荐
相关产品推荐

