Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy解析JSON与XML_Xml_Json_Serialization_Grails_Groovy - Fatal编程技术网

Groovy解析JSON与XML

Groovy解析JSON与XML,xml,json,serialization,grails,groovy,Xml,Json,Serialization,Grails,Groovy,使用groovy,您是否希望在读取和查询JSON与XML的速度和内存开销方面获得更好的性能 JSON比XML更小、更简单。我敢打赌JSON的解析速度更快 YAML会更快。由于尖括号和额外信息等原因,XML比JSON的开销要多一些。出于这个原因,任何好的解析器都应该能够比XML更快地解析JSON。如果速度真的是个问题,我宁愿使用java库解析我想要的任何东西,而不是依赖Groovy的实现。如果是相同的模式和相同的信息,那么内存使用将几乎相同。两者之间的性能应该可以忽略不计。我相信,如果模式和数据相

使用groovy,您是否希望在读取和查询JSON与XML的速度和内存开销方面获得更好的性能

JSON比XML更小、更简单。我敢打赌JSON的解析速度更快


YAML会更快。

由于尖括号和额外信息等原因,XML比JSON的开销要多一些。出于这个原因,任何好的解析器都应该能够比XML更快地解析JSON。

如果速度真的是个问题,我宁愿使用java库解析我想要的任何东西,而不是依赖Groovy的实现。

如果是相同的模式和相同的信息,那么内存使用将几乎相同。两者之间的性能应该可以忽略不计。

我相信,如果模式和数据相同,除了探查器之外,其他任何东西都无法检测到性能差异。也就是说,如果使用了错误的XML解析器,您可能会看到很大的不同。换句话说,SAX实现可以很容易地与JSON解析相匹配,或者可能优于JSON解析。中国有很多外部因素。如果您想要真实的故事,那么在相同的数据/模式下抛出JSON和SAX解析器,而不需要额外的逻辑。巨大的节省来自于用于解释解析的逻辑。根据您的需求使用DOM或pull解析器可能更简单,而SAx会导致过于复杂的无性能解决方案。解析器之间也有明显的差异。加上文件大小的变量,您很快就会失去实际测量的范围。另一个例子是,如果您的XML包含DTD描述和实体引用,必须通过网络解析,并且您的网络连接具有高延迟,那么您可以看到JSON的改进。这一切都归结为您真正想要做的事情。

我以为YAML是JSON的超集。。。因此,如果用JSON解析的内容更少,不是更快吗?请看YAML不同于JSON。更具表现力,解析JSON更简单。请看,所有JSON都是有效的YAML,因此YAML可以被视为JSON的超集。否:YAML肯定不会更快。它更复杂,解析器需要做更多的工作。它的速度可能比最快的xml解析器(参见“Aalto”)的速度要慢。Java的JSON实现可能比xml快,但它更多地取决于处理模型和实现,而不是数据格式。我不确定YAML和JSON的区别,但我很有信心它们中的任何一个都比xml处理得更快。我认为StaxMan的意思是“Java的JSON实现可能比xml的更快”,但如果我错了,他总是可以纠正我,“多一点”?那是慈善的。我发现“船载更多”更准确。也许我只是在看非常糟糕的XML。事实上,CoreXML1.0对于解析来说没有那么多重要的东西:如果使用DTD,则只有名称空间、换行规范化和DTD实体处理(实际上这是一件大事)。所有其他(可选)xml错误都变得复杂;如果您使用XML模式、DTD、XSLT等。