Python problemas de lectura archivo .json
Publicado por christian (2 intervenciones) el 21/03/2016 22:17:14
Hola, estoy empezando con temas de programación, creando un pequeño videojuego con python y la librería pygame.
Uso un editor de mapas Tile_Map_Editor, para el desarrollo de las escenas, estos me vienen empaquetados en unos archivos .json para que yo pueda manipularlos en python.
Pero cuando intento en un bucle for ir leyendo los valores para guardarlos en una variable me sale une error de KeyError: 'data', no entiendo en que me equivoco recorriendo
estos diccionarios.
Eh ido mirando los pasos de código, y consigo ver que el for recorre un par de veces ,recogiendo los valores y almacenadolos en la variable creada ((("aunque no se si los sobrescribe"))), pero cuando a recorrido el for un par de veces me sale este error.
En que me equivoco???????????
Muchas gracias y saludos
Uso un editor de mapas Tile_Map_Editor, para el desarrollo de las escenas, estos me vienen empaquetados en unos archivos .json para que yo pueda manipularlos en python.
Pero cuando intento en un bucle for ir leyendo los valores para guardarlos en una variable me sale une error de KeyError: 'data', no entiendo en que me equivoco recorriendo
estos diccionarios.
Eh ido mirando los pasos de código, y consigo ver que el for recorre un par de veces ,recogiendo los valores y almacenadolos en la variable creada ((("aunque no se si los sobrescribe"))), pero cuando a recorrido el for un par de veces me sale este error.
En que me equivoco???????????
Muchas gracias y saludos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#Juego_Warhammer_Pruevas_0
import pygame
from pygame.locals import *
import base64
import StringIO
import gzip
import json
import sys
_tileWidth=0
_widthMapa=0
_heighMapa=0
_tileHeight=0
_matrizMapa=[]
def cargar_mapa(Nivel):
global _widthMapa,_heighMapa,_tileWidth,_tileHeight,_matrizMapa
c= open(Nivel+".json","r")
data = json.load(c)
c.close()
_tileWidth=data["tilewidth"]
_tileHeight=data["tileheight"]
_withMapa =data["width"]
_heighMapa=data["height"]
print data["layers"]
print type(data)
for item in data ["layers"]:
mapa=item["data"]
'''Aqui no llega'''
print mapa
print type()
mapa =base64.decodestring(mapa)
#print mapa
Valora esta pregunta


0