Simply put I have a script similar to this-->
local maintable = {}
local addtable = {"Stuff","MoreStuff"}
local metatable = {"MoreMoreStuff","ExtraMoreStuff"}
setmetatable(addtable,metatable)
table.insert(maintable,1,addtable)
local DataStore = game:GetService("DataStoreService"):GetDataStore("FakeDataStore")
local http = game:GetService("HttpService")
local JSON = http:JSONEncode(maintable)
DataStore:SetAsync("JsonSave",JSON)
The whole thing works fine and when I load the JSON again I have everything... except the meta table. I try-->
--Of course not in the same script
local DataStore = game:GetService("DataStoreService"):GetDataStore("FakeDataStore")
local LoadedMainTable = DataStore:GetAsync("JsonSave")
local Decodedtable = http:JSONDecode(LoadedMainTable)
local addtable = Decodedtable[1]
if addtable then
local metatable = getmetatable(addtable)
if metatable then
print("GotMetaTable")
else
print("--MetaTable = nil")
end
end
This script results in this in the output-->
--MetaTable = nil
So my question is: Does JSONEncode/Decode get ride of all meta tables? If not then how would you successfully get a meta table from a decoded JSON format?

2 comments
This looks like a job for, BlueTaslem!
Updated with code -- apologies, I've been without internet