Codificación JSON de Python

Estoy tratando de codificar datos a JSON en Python y he tenido muchos problemas. Creo que el problema es simplemente un malentendido.

Soy relativamente nuevo en Python y nunca me familiaricé realmente con los diversos tipos de datos de Python, por lo que es muy probable que eso me esté confundiendo.

Actualmente estoy declarando una lista, recorriendo y otra lista, y agregando una lista dentro de otra:

import simplejson, json
data = [['apple', 'cat'], ['banana', 'dog'], ['pear', 'fish']]

x = simplejson.loads(data)
# >>> typeError: expected string or buffer..

x = simplejson.dumps(stream)
# >>> [["apple", "cat"], ["banana", "dog"], ["pear", "fish"]]
# - shouldn't JSON encoded strings be like: {{"apple":{"cat"},{"banana":"dog"}}

Entonces yo tampoco:

No entiendo la sintaxis JSON No entiendo los módulos Python JSON (s) Estoy usando un tipo de datos inapropiado.