I have a file with content like this:
item({
["attr"] = {
["size"] = "62091";
["filename"] = "qBuUP9-OTfuzibt6PQX4-g.jpg";
["stamp"] = "2023-12-05T19:31:37Z";
["xmlns"] = "urn:xmpp:http:upload:0";
["content-type"] = "image/jpeg";
};
["key"] = "Wa4AJWFldqRZjBozponbSLRZ";
["with"] = "email@address";
["when"] = 1701804697;
["name"] = "request";
});
I need to know what format this is, and if there exists a tool in linux already to parse this or if I need to write one myself?
Thanks!
It’s similar, but JavaScript would use
:
and,
for separators rather than=
and;
.This is valid Lua table syntax, however. A program creates an embedded Lua environment with an
item
callback function and runs this file inside it. Something similar could be done to convert it to another format; just defineitem
to output the data as JSON, or whatever other format you prefer.The Prosody XMPP server, written in Lua, generates files of this type when serializing lists with the “internal” storage manager. See functions
list_store
andlist_load
in util/datamanager.lua.Possibly lua? I think it supports brackets and semi-colon from a quick google search, but I could be wrong. Not able to test this moment.