The problem with this approach is that most of the cells will be empty, so a lot of memory will be wasted. Also, referencing 50 values stored on Z axis by their index will not be fun.
I would probably use JSON and store only the cells which contain objects. Or it could be a combination of an array+JSON. Say, the array will store only object types for occupied cells (belt, pipe etc.) And the rest of the information will be in JSON under the key with the same coordinates - for example "Pipes.152_330". Knowing the object type and cell x/y you could easily access it. This will be a flexible and expandable system.