我有来自 TCP 线路的数据作为字典列表。但有时我会同时收到两个数据包。他们看起来像
[{"property1":"value1", "property2":"value2"}, {"property1":"value1", "property2":"value2"}][{"property1":"value1", "property2":"value2"}][{"property1":"value1", "property2":"value2"}, {"property1":"value1", "property2":"value2"}]
我想把它转换成这样:-
[{"property1":"value1", "property2":"value2"}, {"property1":"value1", "property2":"value2"}, {"property1":"value1", "property2":"value2"},
{"property1":"value1", "property2":"value2"}, {"property1":"value1", "property2":"value2"}]
请您参考如下方法:
您可以分两步完成此操作:
- 将
][替换为,,因为那些连续的方括号代表独立的数据包,连接它们最简单的方法是用逗号替换 - 使用
ast.literal_eval(“安全”eval)将字符串转换为字典。
import ast
ast.literal_eval(string.replace('][', ','))
[{'property1': 'value1', 'property2': 'value2'},
{'property1': 'value1', 'property2': 'value2'},
{'property1': 'value1', 'property2': 'value2'},
{'property1': 'value1', 'property2': 'value2'},
{'property1': 'value1', 'property2': 'value2'}]
这里的假设是您接收这些“数据包”作为字符串。
