php 中的增量 JSON 解析
在php程序中,我想以增量方式解析JSON。例如,给定部分 JSON
[1, 2, {"id": 3},
我想在流式传输其余的JSON输入之前获取1,2和字典。php的json_decode
只是返回,似乎没有办法获得错误的位置。NULL
在php程序中,我想以增量方式解析JSON。例如,给定部分 JSON
[1, 2, {"id": 3},
我想在流式传输其余的JSON输入之前获取1,2和字典。php的json_decode
只是返回,似乎没有办法获得错误的位置。NULL
更新
我写了一个小类,可以逐个字符地执行JSON输入解析。https://github.com/janeklb/JSONCharInputReader
刚从压机上下来,所以可能有一些错误。如果您决定尝试一下,请告诉我!
--
您能否(在跟踪“{”、“[”、“]”、“}”范围的同时)将流分解到不属于字符串值的每个逗号上?然后使用json_decode()处理每个令牌?
如果 json 流没有很多大型对象,则此解决方案效果最佳(因为它们只有在完整到达后才会被解析)。
编辑:如果它确实有大型对象,则可以修改此策略以使其看起来“更深”。但这里的复杂性会飙升。