如何使用Javascript(Node.js)将.jl文件转换为.json文件

时间:2018-12-22 16:33:35

标签: javascript python node.js json

我将此数据保存在.jl文件中,我想将其转换为JSON数组:

我应该从服务器接收数据,该服务器以.jl格式发送数据。但是,我已经用Node.js编写了程序,唯一知道使用数据的方法是来自.json文件的JSON格式。我已经共享了.jl文件代码和.json格式,我想将其转换为以下格式。 (目前,我已经手动将.jl文件中的数据重新键入为.json格式)。有谁知道如何将.jl文件中的数据转换为JSON数组中的数据,如下面的代码所示?

// .jl data:
{
    "FName": "Peter", 
    "ONames": ["Mc", "West"], 
    "Hobbies": ["Football", "Basketball"], 
    "Age": 18
},
{
    "FName": "Edward", 
    "ONames": ["Mc", "Fly"], 
    "Hobbies": ["Tennis", "PlayStation"], 
    "Age": 19
},
{
    "FName": "Winnie", 
    "ONames": ["Honey", "Pooh"], 
    "Hobbies": ["Boxing", "Basketball"], 
    "Age": 28
}

我希望实现以下目标:

// Expected JSON array format:
[
    {
        "FName": "Peter", 
        "ONames": ["Mc", "West"], 
        "Hobbies": ["Football", "Basketball"], 
        "Age": "18"
    },
    {
        "FName": "Edward", 
        "ONames": ["Mc", "Fly"], 
        "Hobbies": ["Tennis", "PlayStation"], 
        "Age": "19"
    },
    {
        "FName": "Winnie", 
        "ONames": ["Honey", "Pooh"], 
        "Hobbies": ["Boxing", "Basketball"], 
        "Age": "28"
    }
]

1 个答案:

答案 0 :(得分:0)

我认为您要问的是如何从.jl文件中读取内容?

由于.jl是utf8编码的文本文档,您只需要将内容包装在方括号内,因此可以使用fs.readFile,将编码设置为'utf8',将其包装在方括号中,然后写成字符串转换为.json文件。这是fs.readFileSync()的示例:

const fs = require('fs');

const content = fs.readFileSync('./test.jl', 'utf8');

fs.writeFile('./test.json', `[${content}]`, (err) => {
  if (err) throw err;
  console.log('saved as json')
})

我一点也不了解.jl,所以我不确定您需要注意什么语法。对于您的用例,虽然应该可以。

编辑:如果只想立即使用文件,而不是将其写出到.json,则可以执行以下操作:

const fs = require('fs');

const content = fs.readFileSync('./test.jl', 'utf8');

const data = JSON.parse(`[${content}]`);

如果您的.jl确实真的很庞大,请考虑使用流。


fs.readFile

fs.readFileSync

fs.writeFile

fs.writeFileSync