Convierte una cadena a JSON usando Python

Estoy un poco confundido con JSON en Python. Para mí, parece un diccionario, y por esa razón estoy tratando de hacer eso:

{ "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": { "GlossEntry": { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": { "para": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML"] }, "GlossSee": "markup" } } } } } 

Pero cuando imprimo dict (json), da un error.

¿Cómo puedo transformar esta cadena en una estructura y luego llamar a json [“título”] para obtener “glosario de ejemplo”?

json.loads()

 import json d = json.loads(j) print d['glossary']['title'] 

Cuando empecé a usar json, estaba confundido e incapaz de resolverlo por un tiempo, pero finalmente obtuve lo que quería.
Aquí está la solución simple

 import json m = {'id': 2, 'name': 'hussain'} n = json.dumps(m) o = json.loads(n) print o['id'], o['name'] 

Usa simplejson o cjson para aceleraciones

 import simplejson as json json.loads(obj) or cjson.decode(obj) 

Si confía en la fuente de datos, puede usar eval para convertir su cadena en un diccionario:

eval(your_json_format_string)

Ejemplo:

 >>> x = "{'a' : 1, 'b' : True, 'c' : 'C'}" >>> y = eval(x) >>> print x {'a' : 1, 'b' : True, 'c' : 'C'} >>> print y {'a': 1, 'c': 'C', 'b': True} >>> print type(x), type(y)   >>> print y['a'], type(y['a']) 1  >>> print y['a'], type(y['b']) 1  >>> print y['a'], type(y['c']) 1