【问题标题】:How to convert a .jl file to a .json file in Javascript (Node.js)如何在 Javascript (Node.js) 中将 .jl 文件转换为 .json 文件
【发布时间】:2018-12-22 16:33:34
【问题描述】:

我在 .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"
    }
]

【问题讨论】:

  • 所以唯一明显的区别是包含[]?那会有多难? :)
  • 你也可以在 json 中有数字 "Age": 28 是完全有效的属性。你真的不需要"Age": "28"

标签: javascript python node.js json


【解决方案1】:

我想您要问的是如何从.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

【讨论】:

    猜你喜欢
    • 2016-07-07
    • 2018-08-15
    • 2017-12-08
    • 2014-10-26
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2020-02-21
    相关资源
    最近更新 更多