J'ai une partie avec un monde infini, alors je le rends à l'aide de morceaux. Ces morceaux sont stockés dans un dict comme celui-ci:
chunks = { (0,0) : { 'floor' : 'stuff', 'items' : {} }, (1,0) : { 'floor' : 'more stuff', 'items' : {} } }
3 Réponses :
En réalité, JSON avait besoin de vos clés pour être en chaîne. Vous pouvez convertir vos clés dans la chaîne et stockez-la dans JSON et lorsque vous devez récupérer vos valeurs que vous pouvez les revenir à la forme d'origine. Dans le code ci-dessous, j'ai essayé de mon mieux pour résoudre votre problème
import json chunks = { (0,0) : { 'floor' : 'stuff', 'items' : {} }, (1,0) : { 'floor' : 'more stuff', 'items' : {} } } # To store dict into json chunks = {str(k): v for k,v in chunks.items()} stored_in_json = json.dumps(chunks) # Load json and revert it back to the orignal shape chunks = {eval(k): v for k,v in json.loads(stored_in_json).items()}
Je me sens comme Pickle est ce dont vous avez besoin ici. Vous pouvez lire à propos de la différence avec JSON ici . Dans votre cas, cela donnerait:
économie forte> p> chargement strong> p> qui vous donne exactement le même dictionnaire que vous avez enregistré (en format binaire). Je pense qu'utiliser JSON n'a de sens que si vous envisagez de le partager avec une autre application, en particulier avec une application non python: P> JSON est interopérable et largement utilisé à l'extérieur de l'écosystème Python, tandis que le cornichon est spécifique à Python; P>
blockQuote> p>
Utilisation de deux méthodes d'assistance create_json () code> et
create_dict () code>.
create_json () code> Mody stocker le dictionnaire dans le fichier JSON par Conversion des touches de tuple en chaînes. p>
create_dict () code> Méthode Créez le dictionnaire du fichier JSON créé avec
Créer_json () p> Méthode. P>
"Coordonnées du morceau comme clé de la dicte" Pouvez-vous expliquer cela
@ komatiraju032 désolé, je suis espagnol et mon anglais n'est pas le meilleur. Chaque morceau est stocké dans la dicte avec ses coordonnées comme clé. Je veux que la clé soit une tuple afin que je puisse utiliser (x, y) dans mon code
Pourquoi Json? Vous le sauve-vous ou l'envoyez-vous à une autre application (non écrite en Python)?