我正在研究如何使用Json.Net编写新行分隔的JSON。我需要这样做才能将数据导出到Google BigQuery - https://cloud.google.com/bigquery/data-formats#json_format
目前我发现这样做的唯一方法是循环访问我的集合并逐个序列化每个对象,但我想知道是否有更好的方法。
我遇到了这个previous question,但答案只解释了如何阅读换行分隔的Json,而不是如何写它
答案 0 :(得分:1)
没有换行符分隔的JSON。你问的是将JSON对象存储在单独的单独行中。许多大数据和事件处理产品都使用它,包括Azure Stream Analytics,Hive,Google的Big Query等。
使用这种存储方法是因为它使并行处理 lot 更容易:
出于这个原因,即使解析器支持它,使用解析器生成这样的文件也不是 。单线程实现只会太慢,并会强制您在写出之前收集所有记录。
为了提高性能,您可以写入多个文件,最好是在单独的磁盘上,并在最后将所有文件合并为一个文件。您也可以在生成每个记录时编写它们,而不是在写出之前等待将所有记录加载到内存中。