不使用\ n字符就解析json

问题描述 投票:1回答:1

我目前正在实现一个Akka Stream Scala应用程序,该应用程序读取一个包含如下格式推文的压缩文件(使用json):

{"created_at": "Mon Nov 04 14:37:29 +0000 2019", ... }
{"created_at": "Mon Nov 04 14:37:29 +0000 2019", ... }

我已经成功读取了文件的解压缩信息,但是现在我试图将流分成多个块,这样每个块都包含一个tweet的表示形式,它对应于以上代码片段中的一行。

我已经尝试使用以下作为实现此目的的流程:

Framing.delimiter(ByteString("\n"), 50000)

但是问题是,在json中有一个属性“ full_text”,表示推文的内容。该文本可能包含\ n字符,导致上述代码段不起作用,因为它也会在这些\ n文本字符处拆分。下面的例子。

{"created_at": "Mon Nov 04 14:37:29 +0000 2019", "full_text": "I love to eat \n CHEESE!!", ... }

有人知道这个问题的解决方案吗?

scala akka akka-stream
1个回答
6
投票

似乎Akka的JSON框架就是为此目的而制作的:

https://doc.akka.io/docs/alpakka/current/data-transformations/json.html

© www.soinside.com 2019 - 2024. All rights reserved.