我有一个 JSON 序列化值的 python 字典。
我想添加到这些序列化字符串而不先做loads(...)
,然后再做dumps(...)
- 所以我“摆弄”序列化值:
目前我有:
for key, value in my_dict.items():
# creating JSON of additional data I want in the JSON string
extra = dumps({ 'key1': 3, 'key2': 1 }, default=str)
# cutting the last '}' from the end off 'value', the '{' and '}' from the
# start and end of 'extra', and then concatting them together.
my_dict[key] = '%s,%s' % (value[:-1], extra[1:])
我这样做是因为我认为dumps
andloads
是一种浪费,但我目前的方法不是很 Pythonic。
有没有更好的方法?
注意:“额外”值与初始 JSON 值来自不同的来源,并且不能插入到原始数据被序列化的位置。
使用约 20 个 JSON blob 的字典时的时间差异:
- 摆弄:0.0005 秒
- json>py>json: 0.0025 秒
快 5 倍
和 20,000 一起玩:
- 摆弄':0.333
- json>py>json:0.813
快 60% 以上
200,000:
- 摆弄':4.5
- json>py>json:10.25
快 60% 以上