我正在尝试为 i3status 编写一个小替代品,这是一个与符合此协议的 i3bar 通信的小程序。他们通过标准输入和标准输出交换消息。
两个方向的流是一个无限的 json 对象数组。从 i3bar 到 i3status 的流的开始(我想替换)如下所示:
[
{"name": "some_name_1","instance": "some_inst_1","button": 1,"x": 213,"y": 35}
,{"name": "some_name_1","instance": "some_inst_2","button": 2,"x": 687,"y": 354}
,{"name": "some_name_2","instance": "some_inst","button": 1,"x": 786,"y": 637}
,{"name": "some_name_3","instance": "some_inst","button": 3,"x": 768,"y": 67}
...
这是代表点击的对象“数组”。阵列永远不会关闭。
我现在的问题是:解析这个的正确方法是什么?
显然我不能使用这个json
库,因为这不是一个有效的 json 对象。