我想将多个json字符串保存到文件中并用分隔符分隔它们,这样就可以很容易地读取这个列表,在分隔符上拆分并分别处理每个json doc。
由于外部原因,不能使用json数组进行序列化。
我想在JSON中使用非法的分隔符(例如,使用逗号分隔是一个坏主意,因为json字符串中有逗号)。
JSON序列化字符串中是否存在任何不合法的字符?
答案 0 :(得分:1)
我知道它并不完全符合您的需求,但您可以使用this SO answer将json字符串写入CSV,然后使用良好的流式CSV读取器(如this one
答案 1 :(得分:0)
看看NDJSON(换行分隔的JSON)。
在我看来,这正是您应该如何做的,尽管这并不是您所要求的。 (如果您不能将JSON对象展平为单行,那么就不适合您!)您要求使用JSON中不允许的分隔符。 JSON中允许使用换行符,但JSON不必包含换行符。
该格式除其他外还用于日志文件。我在查看Lichess API文档时发现了它。
您可以从途中开始收听NDJSON数据的广播流,等待下一个换行符,然后在到达对象时开始处理对象。
如果您使用NDJSON,则至少要遵循一个标准,我认为很难找到要遵循的替代标准。
{"some":"thing"}
{"foo":17,"bar":false,"quux":true}
{"may":{"include":"nested","objects":["and","arrays"]}}
答案 2 :(得分:0)
一个老问题,但是希望这个答案会有用。
大多数JSON读取器都会因以下字符而崩溃:,即information separator two。他们将其声明为“意外令牌”,因此我想必须将其包装起来才能通过。