2014-02-19 3 views
-2

Я хочу перебирать массив JSON в Python. У меня есть этот JSON массив:Итерация через объект JSON в Python

{ 
"test1": "Database", 
"testInfo": { 
    "memory": "0.1 % - Reserved: 31348 kb, Data/Stack: 10 kb", 
    "params": { "tcp": " 0" }, 
    "test2": 100, 
    "newarray": [{ 
     "name": "post", 
     "owner": "post", 
     "size": 6397},] 
    } 
} 

Как я могу получить значение test1: testinfo: и внутри testinfo (память ..) newarray

Большое спасибо за помощь!

+0

Json array, в какой форме? Файл-объект, строка? – aIKid

+0

массив как строка – user2739823

+0

В терминах JSON они называют этот объект. В терминах Python это словарь. Только PHP вызывает массив. –

ответ

3
from json import loads 

# This is a string, we need to convert it into a dictionary 
json_string = '{ 
    "test1": "Database", 
    "testInfo": { 
    "memory": "0.1 % - Reserved: 31348 kb, Data/Stack: 10 kb", 
    "params": { "tcp": " 0" }, 
    "test2": 100, 
    "newarray": [{ 
     "name": "post", 
     "owner": "post", 
     "size": 6397},] 
    } 
}' 

# This is done by converting the string into a dictionary 
# and placing it in a "handle" or a "container", in short.. a variable called X 
x = loads(json_string) 

# Now you can work with `x` as if it is a regular Python dictionary. 
print(x) 
print(x['test1']) 
print(x['testInfo']['memory']) 

# To loop through your array called 'newarray' you simply do: 
for obj in x['testInfo']['newarray']: 
    print(obj) 

Baisc питона после того как вы использовали loads на самом деле.

+0

Спасибо вам большое! Я не понимаю, как я могу проходить через этот массив. x в вашем примере - это конкретный номер, но что, если я не знаю количество объектов в json Array? – user2739823

+0

'x' НЕ является номером, это преобразованная строка JSON obve .. Удерживайте ... – Torxed

+0

Просто перейдите через' x'. Получите нужное значение с каждой итерации. – aIKid

Смежные вопросы