是一个转换程序" foo:blah"到JSON存在?

时间:2015-04-16 04:29:35

标签: javascript json node.js parsing string-parsing

我想转换一个人类可读的列表,例如:

Enabled: No
Server: localhost
Port: 8888
Authenticated Proxy Enabled: 0

...进入一个对象,最好清理为JSON,例如:

{
    "Enabled": "No",
    "Server": "localhost",
    "Port": 8888,
    "Authenticated Proxy Enabled": 0
}

但我希望直接实现这一点会导致难以追踪的错误。

我正在开发一个Node.js应用,它恰好通过shelljs在OS X上使用了一些内置的网络工具。这是列表的来源,我只需要处理它。

这是一个命令,您可以轻松地从终端运行以查看我看到的内容:

networksetup -getwebproxy Wi-Fi

假设您有一个"网络服务"称为Wi-Fi,它应该像上面那样吐出一个列表。

我希望将数字解析为数字,而不是字符串。但我可以没有那个生活。

请注意:我特别希望避免重新发明轮子。自己这样做会相对容易,但我想找到一个小模块,用于处理数据的这种平凡的细微差别。我要求列出已经这样做的项目。

这个问题很难找到。

1 个答案:

答案 0 :(得分:1)

第一个代码段可能很容易YAML,因此请获取YAML parser,解码YAML并将其编码为JSON:

JSON.stringify(yaml.safeLoad(fs.readFileSync('example.yml', 'utf8')))