gpt4 book ai didi

javascript - 以哪种格式记录/存储数字数据以供进一步的 JavaScript 处理?

转载 作者:行者123 更新时间:2023-11-30 16:22:14 27 4
gpt4 key购买 nike

我计划在几个月内(每天)收集一些数据,以便在 JavaScipt 中进行进一步处理和表示(可能使用任何 js 库,例如 d3.js 等。我还不知道是哪一个)。数据将包括:

  • 日期
  • 一个整数
  • 一位小数

您会推荐哪种文件/数据格式来记录后续使用 JavaScript 的数据?

最佳答案

我认为 CSV 在这里更合适,因为它听起来像是一长串数据点。

JSON 工作,就像 XML 或任何其他系统会工作一样,但尽管我喜欢 JSON,但它不一定非常适合这项工作:

  • JSON 的空间效率很低。它需要很多标点符号。

  • JSON 的内存效率很低。要向 JSON 文件添加任何内容,您需要:

    1. 将整个文件作为一个长字符串读取
    2. 将该长字符串解析为 JSON,将其作为大哈希或数组保存在内存中
    3. 插入你的新数据
    4. 将大哈希或数组重新编码为一个长字符串
    5. 用新的长字符串覆盖旧文件
  • JSON 将更难阅读……除非它以“漂亮”的格式存储,在这种情况下,它的空间效率会更低。

CSV 需要更少的多余标点符号,您可以在文件末尾追加一行新数据,而无需读取和写入整个文件。

考虑:

JSON(不漂亮):

{"01012016":[42,0.8675309],"01022016":[12,9.87654321]}

JSON(漂亮):

{
"01012016":[
42,
0.8675309
],
"01022016":[
12,
9.87654321
]
}

CSV:

01012016,42,0.8675309
01022016,12,9.87654321

Javascript 没有 JSON.parse 那样的内置 CSV 解析器...因为解析 CSV 非常简单!这只是众多方法中的一种:

var splitByLine = myCSVString.split("\n");
var splitByLineAndComma = [];
splitByLine.forEach(function(line){
splitByLineAndComma.push(line.split(","));
});

关于javascript - 以哪种格式记录/存储数字数据以供进一步的 JavaScript 处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566776/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com