多个json字符串的分隔符

时间:2014-12-18 14:37:49

标签: json serialization delimiter

我想将多个json字符串保存到文件中并用分隔符分隔它们,这样就可以很容易地读取这个列表,在分隔符上拆分并分别处理每个json doc。

由于外部原因,不能使用json数组进行序列化。

我想在JSON中使用非法的分隔符(例如,使用逗号分隔是一个坏主意,因为json字符串中有逗号)。

JSON序列化字符串中是否存在任何不合法的字符?

3 个答案:

答案 0 :(得分:1)

我知道它并不完全符合您的需求,但您可以使用this SO answer将json字符串写入CSV,然后使用良好的流式CSV读取器(如this one

答案 1 :(得分:0)

NDJSON

看看NDJSON(换行分隔的JSON)。

http://ndjson.org/

在我看来,这正是您应该如何做的,尽管这并不是您所要求的。 (如果您不能将JSON对象展平为单行,那么就不适合您!)您要求使用JSON中不允许的分隔符。 JSON中允许使用换行符,但JSON不必包含换行符。

该格式除其他外还用于日志文件。我在查看Lichess API文档时发现了它。

您可以从途中开始收听NDJSON数据的广播流,等待下一个换行符,然后在到达对象时开始处理对象。

如果您使用NDJSON,则至少要遵循一个标准,我认为很难找到要遵循的替代标准。

示例NDJSON

{"some":"thing"}
{"foo":17,"bar":false,"quux":true}
{"may":{"include":"nested","objects":["and","arrays"]}}

答案 2 :(得分:0)

一个老问题,但是希望这个答案会有用。

大多数JSON读取器都会因以下字符而崩溃:,即information separator two。他们将其声明为“意外令牌”,因此我想必须将其包装起来才能通过。