2013-07-15 3 views
2

Есть файл в текстовом формате, который выглядит следующим образом:разбор файла JSON в Python

{ 
    "user1":[int1, int2...intX], 
    "user2":[int1, int2...intX], 
    ... 
    "userX":[int1, int2...intX] 
} 

Я хочу, чтобы иметь возможность переключения между всеми пользователями и их соответствующих списков целых чисел; Каков наилучший способ загрузить и проанализировать этот объект?

В конце концов, я хочу сделать что-то вроде:

for user, intlist in [FILE]: 
    for item in intlist: 
     [perform some function on each int] 

, хотя я не уверен, правильно настроить IO, а затем используя библиотеку JSON.

+0

возможно дубликат [ Python JSON tutorial] (http://stackoverflow.com/questions/4759634/python-json-tutorial) – dnozay

ответ

2

Просто загрузите файл с json.load():

import json 

with open('yourfile') as infile: 
    for user, intlist in json.load(infile).iteritems(): 
     for item in intlist: 

Ваш JSON содержит словарную объект верхнего уровня, так что приведенный выше код вызывает .iteritems() для цикла по каждому ключ-значение комбо в этом объекте.

+0

Это сработало как шарм, спасибо – fox

0

Что-то вроде этого:

import json 
with open('file.json', 'r') as f: 
    data = json.load(f) 
for user, intlist in data.items(): 
    for item in intlist: 
     do_your_stuff(item) 
0

Помимо вышеуказанных ответов, вы можете также попробовать пакет «simplejson», который поддерживает немного больше объектов питона, чем простой «JSON»