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
とを無駄だと考えているため、これを行っていますloads
が、現在の方法はあまり Pythonic ではありません。
より良い方法はありますか?
注: 「余分な」値は、初期の JSON 値とは異なるソースからのものであり、元のデータがシリアル化された時点に挿入することはできません。
~20 個の JSON ブロブの辞書を使用する場合の時間差:
- いじり: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% 以上高速