如何使用Javascript将纯文本转换为JSON/JS对象
纯文本列表转JS对象/JSON的实现方案
以下是针对你提供的文本格式,直接用JavaScript实现转换的代码:
// 原始文本(替换为你的完整列表即可) const rawText = `Afghanistan- 132 South Africa - 7560 Albania - 175 Germany - 230 Andorra - 370`; // 核心转换逻辑 const result = rawText .split('\n') // 按换行分割成单行 .filter(line => line.trim() !== '') // 过滤空行 .map(line => { // 正则匹配:兼容连字符前后有无空格的格式,捕获国家名和ID const match = line.match(/^(.+?)\s*-\s*(\d+)$/); if (!match) return null; return { id: Number(match[2]), country_name: match[1].trim() }; }) .filter(item => item !== null); // 过滤无效行 // 输出JS对象数组 console.log(result); // 如需JSON字符串,执行以下代码 const jsonResult = JSON.stringify(result, null, 2); console.log(jsonResult);
关键逻辑说明:
- 文本拆分与清洗:用
split('\n')拆分每行,filter去除空行避免无效处理 - 正则兼容格式:
/^(.+?)\s*-\s*(\d+)$/适配两种写法(国家-数字和国家 - 数字),精准捕获国家名称和ID - 类型与格式修正:把ID字符串转为数字类型,用
trim()清除国家名前后可能的多余空格 - 容错处理:跳过不符合格式的行,避免转换出错
执行后会生成你预期格式的JS对象数组,转成JSON后与示例完全一致。
内容的提问来源于stack exchange,提问作者Gustavo dos Santos
相关产品推荐
相关产品推荐

