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!

  • Knusper@feddit.de
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    7 months ago

    It looks similar in structure to JSON:

    {
        "attr": {
            "size": "62091",
            "filename": "qBuUP9-OTfuzibt6PQX4-g.jpg",
            ...
        };
        "key": "Wa4AJWFldqRZjBozponbSLRZ",
         ...
    }
    

    So, it might be some JSON meta language. I just find it weird that it seems to contain all data, so you wouldn’t use this for validating or templating JSON.

    But ultimately, it also means with a handful of regex replacements, you could turn this particular file into JSON. Might make building your own parser almost trivial…

    • ∟⊔⊤∦∣≶@lemmy.nzOP
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      Yeah, its real close to JSON but not.

      I’m going to have to go a step deeper and find out what’s going on in the code because this section is repeated many many times. It’s not just this one that I need to parse.

      … It might even be easier to write my own parser like you said, because I need to take actions based on the date fields.