How can i get pass the datastore key limit?

i have a system right not that is supposed to save a table with all the player data but it exceeds the current Key name character limit.
heres the table i want to save

local inv = {one = "Thompson:1:100/100:one:rbxassetid://674010691", two = "M4A1:1:100/100:two:rbxassetid://129934018", three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false, ten = false, eleven = false, twelve = false, thirteen = false, fourteen = false, fifteen = false, sixteen = false, seventeen = false, eighteen = false, nineteen = false, twenty = false, twentyone = false, twentytwo = false, twentythree = false, twentyfour = false, twentyfive = false, twentysix = false, twentyseven = false, twentyeight = false, twentynine = false, thirty = false, thirtyone = false, thirtytwo = false, thirtythree = false, thirtyfour = false, thirtyfive = false, thirtysix = false, thirtyseven = false, thirtyeight = false, thirtynine = false, fourty = false, fourtyone = false, fourtytwo = false, fourtythree = false, fourtyfour = false, fourtyfive = false, fourtysix = false, fourtyseve = false, fourtyeight = false, fourtynine = false, fiftyone = false, fiftytwo = false, fiftythree = false, fiftyfour = false, fiftyfive = false, fiftysix = false, fiftyseven = false}

currently there are only two slots filled but with all slots filled the table is quite big
can you help me? thanks in advance

Convert to JSON, then you can hit up to 4MB of data!

i did i used

local encode = HttpsService:JSONEncode(inv)

still gets the error tho

May I ask how your setting the value in datastore?

	local encode = HttpsService:JSONEncode(inv)
	inventorydata:SetAsync(encode, pl.UserId)

that is the current saving script


Ok so just switch round pl.UserId, and encode,

SetAsync(Key, ActualData)

you mixed it up that is all.

thx for the help B) it works now