提问人:mbrevoort 提问时间:10/8/2008 最后编辑:mbrevoort 更新时间:10/18/2008 访问量:6470
Groovy 解析 JSON 与 XML
Groovy parsing JSON vs XML
答:
6赞
S.Lott
10/8/2008
#1
JSON 比 XML 更小、更简单。我敢打赌,JSON的解析速度更快。
YAML 会更快。
评论
0赞
Anthony Cramp
10/8/2008
我以为YAML是JSON的超集......因此,如果使用 JSON 解析的内容更少,那不是更快吗?
0赞
S.Lott
10/8/2008
请参阅 YAML 与 JSON yaml.org 区别。更具表现力,解析 JSON 也更简单。
0赞
Adam Lassek
10/15/2008
请参阅 redhanded.hobix.com/inspect/yamlIsJson.html 所有 JSON 都是有效的 YAML,因此 YAML 可以被视为 JSON 的超集。
0赞
StaxMan
5/7/2009
不:YAML 肯定不会更快。它更复杂,解析器必须做更多的工作。它可能会比最快的 xml 解析器(参见“Aalto”)慢,do. JSON Java 的实现可能比 xml 更快,但它更多地取决于处理模型和实现,而不是数据格式。
1赞
Matt Passell
8/25/2009
我不确定 YAML 与 JSON,但我非常有信心它们中的任何一个都会比 XML 更快地处理。我认为 StaxMan 的意思是“Java 的 JSON 实现可以比 FOR xml 更快”,但如果我错了,他总是可以纠正我。
1赞
Seibar
10/8/2008
#2
XML 的开销比 JSON 多一点,因为尖括号和额外的信息等等。出于这个原因,任何好的解析器都应该能够比 XML 更快地解析 JSON。
评论
1赞
S.Lott
10/8/2008
“再多一点”?这是慈善事业。我发现“船载更多”更准确。也许我只是在看非常糟糕的 XML。
1赞
StaxMan
5/7/2009
实际上,核心 xml 1.0 在解析方面并没有那么多重要的东西:如果使用 DTD,只有命名空间、换行符规范化和 DTD 实体处理(这实际上是一件大事)。所有其他(可选)xml cruft 都变得复杂;如果您使用 XML 模式、DTD、XSLT 等。
2赞
gizmo
10/14/2008
#3
如果速度真的是一个问题,我宁愿使用 java 库来解析我想要的任何内容,而不是依赖 Groovy 的实现。
2赞
Nelson
10/15/2008
#4
如果架构相同,信息相同,则内存使用率几乎相同。两者之间的性能应该可以忽略不计。
2赞
Cliff
10/18/2008
#5
我相信,如果架构和数据相同,除了分析器之外,其他任何东西都无法检测到性能差异。也就是说,如果您使用了错误的 XML 解析器,您可能会看到很大的不同。换句话说,SAX 实现可以轻松匹配或优于 JSON 解析。cinsider 有很多外部因素。如果你想要真实的故事,在同一个数据/架构上同时抛出一个 JSON 和一个 SAX 解析器,没有额外的逻辑。节省的大量资金来自用于解释解析的逻辑。根据您的要求,使用 DOM 或拉式解析器可能更简单,而 SAx 会导致过于复杂的非高性能解决方案。此外,解析器之间也存在明显的差异。加上文件大小的变量,你很快就会失去你实际测量的范围。另一个示例是,如果 XML 包含必须通过网络解析的 DTD 描述和实体引用,并且网络连接具有高延迟,则可以看到 JSON 的改进。这一切都归结为你真正想做的事情。
评论