<p>您可以使用<code>json</code>来解析数据,并使用<a href="https://docs.python.org/3/library/json.html#json.load" rel="nofollow noreferrer">json.loads</a>的<code>object_pairs_hook</code>参数来个性化处理数据。在下面的示例中,我将同一个键的不同值分组到一个列表中(并且,按照您的注释中的要求,将它们串联成一个字符串):</p>
<pre><code>import json
from collections import Counter, defaultdict
data = """{"Date": "Fri, 19 Apr 2019 00:54:46 GMT", "Vary": "Host,Accept-Encoding", "Key-Word": "00a", "Cache-Control": "private", "Key-Word": "xn"}
"""
def duplicate_keys(pairs):
out = {}
dups = defaultdict(list)
key_count = Counter(key for key, value in pairs)
for key, value in pairs:
if key_count[key] == 1:
out[key] = value
else:
dups[key].append(value)
# Concatenate the lists of values in a string, enclosed in {} and separated by ';'
# rather than in a list:
dups = {key: ';'.join('{' + v + '}' for v in values) for key, values in dups.items()}
out.update(dups)
return out
decoded = json.loads(data, object_pairs_hook=duplicate_keys)
print(decoded)
# {'Date': 'Fri, 19 Apr 2019 00:54:46 GMT',
# 'Vary': 'Host,Accept-Encoding',
# 'Cache-Control': 'private',
# 'Key-Word': '{00a};{xn}'}
</code></pre>