不使用 \n 字符解析 json
Parsing json without using the \n character
我目前正在实现一个 Akka Stream Scala 应用程序,它读入一个压缩文件,其中包含格式如下的推文(使用 json):
{"created_at": "Mon Nov 04 14:37:29 +0000 2019", ... }
{"created_at": "Mon Nov 04 14:37:29 +0000 2019", ... }
我已经成功读取解压缩文件,但我现在正尝试将流拆分为多个块,每个块包含一个推文表示形式,对应于上面代码片段中的一行.
我尝试使用以下流程来实现此目的:
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!!", ... }
有谁知道解决这个问题的好方法吗?
看来Akka的JSON框架就是为了这个目的而制作的:
https://doc.akka.io/docs/alpakka/current/data-transformations/json.html
我目前正在实现一个 Akka Stream Scala 应用程序,它读入一个压缩文件,其中包含格式如下的推文(使用 json):
{"created_at": "Mon Nov 04 14:37:29 +0000 2019", ... }
{"created_at": "Mon Nov 04 14:37:29 +0000 2019", ... }
我已经成功读取解压缩文件,但我现在正尝试将流拆分为多个块,每个块包含一个推文表示形式,对应于上面代码片段中的一行.
我尝试使用以下流程来实现此目的:
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!!", ... }
有谁知道解决这个问题的好方法吗?
看来Akka的JSON框架就是为了这个目的而制作的:
https://doc.akka.io/docs/alpakka/current/data-transformations/json.html