# Collection of code snippets by Arne Vajhøj 
# (from articles on eksperten.dk / vajhoej.dk written sometime between 2004 and now) 
import json

class Employee(object):
    def __init__(self, _no, _name, _role):
        self.no = _no
        self.name = _name
        self.role = _role

jsonstr = '[ { "no" : 1, "name" : "Alan A", "role" : "Manager" }, ' + \
            '{ "no" : 2, "name" : "Brian B", "role" : "Engineer" }, ' + \
            '{ "no" : 3, "name" : "Chris C", "role" : "Sales rep" } ]';

# iterate over all employees
employees = json.loads(jsonstr)
for employee in employees:
    # find no, name and role
    no = employee['no']
    name = employee['name']
    role = employee['role']
    # print
    print('no = %d' % (no))
    print('name = %s' % (name))
    print('role = %s' % (role))
# add new employee
employees.append(Employee(4, 'Dave D', 'Intern'))
# write out
print json.dumps(employees, default = lambda o: o.__dict__)
