gpt4 book ai didi

json - 记录为 JSON - 标准是多个根元素,为什么?

转载 作者:搜寻专家 更新时间:2023-11-01 00:33:46 25 4
gpt4 key购买 nike

我想用 JSON 编写日志文件。

在查看了一些用于格式化灵感和最佳实践的库(Winston for Node.JS、Apache 的 JSON 日志记录选项等)之后,我注意到几乎所有这些库都编写了多个根元素,而不是使用数组或根元素。

例子:

{"time":"2012-09-20T20:27:59Z","level":"info","message":"Hello World"} {"time":"2012-09-20T21:37 :59Z","level":"info","message":"Hello Again"

对比

[{"time":"2012-09-20T20:27:59Z","level":"info","message":"Hello World"},{"time":"2012-09-20T21 :37:59Z","level":"info","message":"Hello Again"}]

从技术上讲,具有多个根元素的 JSON 无效时,为什么要这样做?

最佳答案

记录时,您会不断添加新的日志条目。你怎么知道什么时候关闭阵列?您的日志记录何时“完成”?您可以用一个空数组 [] 开始日志,但是当添加条目时,您必须继续在文件中查找以找到正确的位置,并检查是否需要逗号还是不是。

或者你只需​​将每个条目写为一个单独的根对象,每次你写出一些东西时它都是独立的并附加到文件的末尾。这要简单得多。

日志不是单个 JSON 对象,即整个日志未形成有效的 JSON 字符串。它是一系列独立的 JSON 对象。各个条目是您应该考虑的单位,而不是整个日志。

关于json - 记录为 JSON - 标准是多个根元素,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14207459/

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