Старый вопрос, но JSON OP (первая конструкция) может иметь правильный синтаксис, но это вызовет проблемы, потому что он повторяет ключ student
.
import simplejson
data = '''{
"class": {
"number": 2,
"student": {
"name": "Tom",
"age": 1
},
"student": {
"name": "May",
"age": 2
}
}
}'''
data_in = simplejson.loads(data)
print(data_in)
Выход: {'class': {'number': 2, 'student': {'age': 2, 'name': 'May'}}}
Где уникальные ключи student_1
и student_2
:
import simplejson
data = '''{
"class": {
"number": 2,
"student_1": {
"name": "Tom",
"age": 1
},
"student_2": {
"name": "May",
"age": 2
}
}
}'''
data_in = simplejson.loads(data)
print(data_in)
Выход: {'class': {'student_1': {'age': 1, 'name': 'Tom'}, 'number': 2, 'student_2': {'age': 2, 'name': 'May'}}}
UPDATE:
Согласитесь с @Tomas Hesse, что массив является лучшей формой. Это будет выглядеть так:
import simplejson
data = '''{
"class": {
"number": 2,
"students" : [
{ "name" : "Tom", "age" : 1 },
{ "name" : "May", "age" : 2 }
]
}
}'''
data_in = simplejson.loads(data)
print(data_in)