-3

So I have two user defined python classes shown below

class cell(object):
def __init__(self,id,x_cor,y_cor,width = cell_size,height = cell_size ,color = lightblue ):
    self.id = id
    self.x_cor = x_cor
    self.y_cor = y_cor
    self.width = width
    self.height = height
    self.color = color

class edge(object):
def __init__(self,pos, x_cor,y_cor,state,color = lightgreen):
    global border_size
    global cell_size
    self.pos = pos
    self.x_cor = x_cor
    self.y_cor = y_cor
    self.state = state
    self.color = color
    if self.state == "H":
        self.width = cell_size+(border_size)*2
        self.height = border_size
        self.x_lower_bound = self.x_cor + border_size
        self.x_upper_bound = self.x_cor +border_size+ cell_size
        self.y_lower_bound = self.y_cor
        self.y_upper_bound = self.y_cor + border_size
    elif self.state == "V":
        self.width = border_size
        self.height = cell_size+(border_size*2)
        self.x_lower_bound = self.x_cor
        self.x_upper_bound = self.x_cor + border_size
        self.y_lower_bound = self.y_cor + border_size
        self.y_upper_bound = self.y_cor + border_size + cell_size

Now I have a 2-D list called cells It is defined and looks like this Click me.

It is a bit messy but you can see that it is a 16 by 16 matrix storing an object od cell as defined above

No i want to store this 2-D array in json file this is what i am doing

json_data = []
json_data.append(cells)
with open("default.json" , "w") as f:
    json.dump(json_data,f,indent = 2)

This is the error on terminal I am getting Click on the link to view

1 Answers1

0

Use pickle.

It will not be human readable and not in json format. But this module is intended to store Python objects and load it back again in future.

See more this for comparison with json module.

Seleme
  • 201
  • 1
  • 8