Saving level data in Table json

Hello, im trying to save level data in my main.lua for my game as you can see:

main.lua

local loadsave = require ( "classes.loadsave" ) user = loadsave.loadTable("user.json") if (user == nil) then user = {} user.money = 0 user.gamehighStage = 0 user.gamehighLevel = 0 user.playsound = true user.missions = {} user.missions[1] = {} user.missions[1].levels = {} user.missions[1].levels[1] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[2] = { 2, 2, 2, 2, 2, 50 } user.missions[1].levels[3] = { 3, 3, 3, 3, 3, 50 } user.missions[1].levels[4] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[5] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[6] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[7] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[8] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[9] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[10] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[11] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[12] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[13] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[14] = { 1, 1, 1, 1, 1, 50 } user.missions[1].levels[15] = { 1, 1, 1, 1, 1, 50 } user.maxLevels = 15 user.maxMissions = 5 -- not working user.settings = {} user.settings.currentMission = 1 user.settings.currentLevel = 1 user.settings.unlockedLevels = 2 user.settings.soundOn = true user.settings.musicOn = true --user.settings.missions = {} user.settings.missions = {} user.settings.missions.unlockedLevels = 1 user.settings.missions.unlockedLevelit = {} user.settings.missions.unlockedLevelit.ted = 20 user.settings.missions[1] = {} user.settings.missions[1].stars = 0 user.settings.missions[1].unlockedLevels = 1 user.settings.missions[1].levels = {} user.settings.missions[1].levels[1] = {} user.settings.missions[1].levels[1].stars = 0 user.settings.missions[1].levels[1].score = 4394 user.settings.missions[1].levels[2] = {} user.settings.missions[1].levels[2].stars = 0 user.settings.missions[1].levels[2].score = 4394 user.settings.missions[2] = {} user.settings.missions[2].stars = 0 user.settings.missions[2].unlockedLevels = 1 user.settings.missions[2].levels = {} user.settings.missions[2].levels[1] = {} user.settings.missions[2].levels[1].stars = 0 user.settings.missions[2].levels[1].score = 4394 loadsave.saveTable(user, "user.json") end loadsave.printTable(user) -- Go to the menu screen composer.gotoScene( "scenes.gameMissions.levelSelectNext" )

it seems to work all fine when getting values such as the : user.settings.missions.unlockedLevels = 1

For example:

print("number of unlocked levels " .. user.settings.missions.unlockedLevels)

but when i try and get values from the ones I’ve got [1] or [2] or any number, for example:

print("number of unlocked levels " .. user.settings.missions[1].unlockedLevels)

it doesn’t work and appear with Runtime error: attempt to index field ‘?’ (a nil value)

Is there any way i can get around this?