これに対する解決策を見つけることができないようですが、JSONデータがあると仮定します。
data = [{"color":"blue","score":"3"},{"color":"red","score":"2"},....]
色とスコアの順序を逆にして、次のようにするにはどうすればよいですか。
data = [{"score":"3","color":"blue"},{"score":"2","color":"red"},....]
コメントに書く方法は、辞書を並べ替えて OrderedDicts に変換する必要があります
from collections import OrderedDict
a = {'score':3, 'color':'red'}
b = {'score':1, 'color':'yellow'}
lst = []
for d in [a,b]:
temp = OrderedDict()
for k in sorted(d, reverse=True):
temp.setdefault(k, d[k])
lst.append(temp)
OUTPUT: [OrderedDict([('score', 3), ('color', 'red')]), OrderedDict([('score', 1), ('color', 'yellow')])]
アイテムの順序は重要ではありませんが、特定の順序が本当に必要な場合は、OrderedDictを使用できます。
>>> from collections import OrderedDict
>>> data = [OrderedDict([("score", "3"),("color", "blue")])]
>>> json.dumps(data)
'[{"score": "3", "color": "blue"}]'