如何基于模板将文本文件数据转为结构化JSON?求推荐npm包
解决方案
你可以用以下几个npm包快速实现反向模板匹配,提取文本中的结构化数据生成JSON:
1. string-template-reverse
这个包专为反向解析模板设计,语法简单,能直接匹配你的需求。
安装
npm install string-template-reverse
使用示例
const reverseTemplate = require('string-template-reverse'); // 定义模板 const template = "My name is {name}"; // 待解析的输入文本 const inputText = "My name is Max"; // 执行解析 const parsedResult = reverseTemplate(template, inputText); console.log(parsedResult); // 输出: { name: 'Max' }
2. regexify-template
这个工具会把带占位符的模板转换成正则表达式,再通过正则匹配提取参数,灵活性更强,适合复杂模板场景。
安装
npm install regexify-template
使用示例
const regexifyTemplate = require('regexify-template'); const template = "My name is {name}"; const inputText = "My name is Max"; // 生成匹配正则和占位符键名列表 const { regex, keys } = regexifyTemplate(template); const matchResult = inputText.match(regex); if (matchResult) { const structuredData = {}; keys.forEach((key, idx) => { structuredData[key] = matchResult[idx + 1]; }); console.log(structuredData); // 输出: { name: 'Max' } }
如果你的模板涉及更复杂的格式(比如可选内容、多变量组合),也可以基于这些包扩展,或者直接手写正则分组匹配,但现成工具能大幅减少开发成本。
内容的提问来源于stack exchange,提问作者hech1
相关产品推荐
相关产品推荐

