2017-09-05 97 views
0

我追加時只想將10個對象添加到我的json數組中,但在當前的方法中,我最終追加了匹配的所有鍵/值。如何限制在python中追加json對象

有沒有一種優雅的方式來限制在for循環中只追加10個對象?

for i in jsonData['data']: 
      response.append({'lat': i['lat'], 'long' : i['long']}) 
      json.dumps(response) 
+1

'if'怎麼樣? –

+0

試過這個:'對於我在jsonData ['data'] [:10]:...''? – Szabolcs

回答

4

如果數據是一個列表,你可以切片:

for i in jsonData['data'][:10]: 
    response.append({'lat': i['lat'], 'long' : i['long']}) 
    json.dumps(response) 

否則,break在10計:

for i, v in enumerate(jsonData['data']): 
    if i == 10: 
     break 
    response.append({'lat': v['lat'], 'long' : v['long']}) 
    json.dumps(response) 
+0

太棒了,很乾淨!謝謝! – adamSmith

0

如果您不需要json.dumps所有中間階段,那麼這應該這樣做:

response = [{'lat': i['lat'], 'long' : i['long']} for i in jsonData['data'][:10]]