457 votes

Conversion de chaîne en JSON à l'aide de Python

Je suis un peu confus avec JSON en Python. Pour moi, cela ressemble à un dictionnaire, et pour cette raison, j'essaie de le faire:

 {
    "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"
                }
            }
        }
    }
}
 

Mais quand j'imprime dict (json), cela donne une erreur.

Comment puis-je transformer cette chaîne en une structure et ensuite appeler json ["titre"] pour obtenir un "exemple de glossaire"?

Merci.

815voto

Ignacio Vazquez-Abrams Points 312628

json.loads()

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

105voto

Hussain Points 844

Quand j'ai commencé à utiliser Json, j'étais confus et incapable de le comprendre pendant un certain temps, mais j'ai finalement obtenu ce que je voulais.
Voici la solution simple

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

21voto

locojay Points 2276

utilisez simplejson ou cjson pour des accélérations

 import simplejson as json

json.loads(obj)

or 

cjson.decode(obj)
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X