擅长:python、mysql、java
<p>您应该在数据中找到模式:</p>
<ul>
<li>您的数据用空行分隔</li>
<li>内部数据从空格开始</li>
</ul>
<p>利用这些观察,你可以写下:</p>
<pre><code>def parse(data):
aa = {}
curRecord = None
curGroup = None
for row in data.split('\n'):
if row.startswith(' '):
# this is a new key in the inner record
if ':' in row :
if curRecord == None:
curRecord = {}
curGroup.append(curRecord)
key, value = row.split(':')
curRecord[key.strip()] = value.strip()
elif row == '':
# this signal new inner record
curRecord = None
else:
# otherwise , it is a new group
curRecord = None
curGroup = []
aa[row.strip()] = curGroup
return aa
</code></pre>
<hr/>
<pre><code>>>> import json
>>> print( json.dumps(parse(data)) );
{"Group A": [{"name": "rey", ... }, {"name": "dan", ... }]}
</code></pre>