在 node.js 中将 ini.txt 转换为 JSON

Convert ini.txt to JSON in node.js

我目前面临以下问题:

将特定机器的 ini.txt 推入 S3 存储桶,然后触发 lambda。 ini.txt 看起来像这样:

1 | test
1sdf | test2
2sdf | abcdefghifsfd
sdfsdfsdf

所以我们有一个 id | message 但在 and 处没有定界符,有时消息太长以至于需要两行。

我需要将此 ini.txt 转换为 JSON 对象

我已经能够在我的脚本中获取 ini 的内容作为字符串。

你们知道如何解决这个问题吗?或者是否已经有针对该问题的节点包?

感谢您的帮助。

谢谢!

我为你写了代码:

const { readFileSync } = require('fs')

const data = readFileSync('ini.txt', 'utf8').split(/[\n\r]/)
const result = {}

let prev = {}
let preKey

data.forEach(line => {
    const key = line.split('|')[0]
    const value = line.split('|')[1]
    const _ = {}

    if (!value) {
        prev[preKey] += key
        result[preKey] = prev[preKey]
    } else {
        result[key] = value
    }

    _[key] = value
    prev = _
    preKey = key
})

console.log(JSON.stringify(result))