擅长:python、mysql、java
<p>由于加载的json数据只是嵌套的list和dict,所以可以使用普通的list/dict操作;特别是,列表理解是有用的</p>
<pre class="lang-py prettyprint-override"><code>import json
with open('input', 'r') as f:
data = json.loads(f.read())
filtered = [x for x in data if not (x['classes'] == 'green diamond' and x['data']['id'] != 'po1')]
with open('output', 'w') as f:
f.write(json.dumps(filtered, indent=2))
</code></pre>
<p>结果:</p>
<pre><code>[
{
"data": {
"id": "ed",
"label": "Executive Director (Harriet)"
},
"classes": "purple"
},
{
"data": {
"id": "vp1",
"label": "Vice President (Sarah)"
},
"classes": "square"
},
{
"data": {
"id": "vp2",
"label": "Vice President (Charlotte)"
},
"classes": "square"
},
{
"data": {
"id": "po1",
"label": "Program Officer (Sojourner)"
},
"classes": "green diamond"
},
{
"data": {
"id": "pa",
"label": "Program Associate (Ellen)"
},
"classes": "myimage"
}
]
</code></pre>