How can I have a lookup to the details of the data structure of the raw backup json files?

I am trying to write a script converting Xmind mindgrph to json RemNote can accept, and I have gotten confused with the meaning of the keys. Here is a example

{
            "key": [
                {
                    "i": "q",
                    "_id": "rBPEnogSF46pDDyMy"
                }
            ],
            "owner": "local-AufsnMrwG4pduSNFy",
            "children": [],
            "subBlocks": [
                "YEbsypkNQKdQYuxDc",
                "G8BuATp5eQhzm3BMd",
                "v5v9AMNxKgM2t7EK5",
                "J9DBe2EHkQNoZoMvr"
            ],
            "portalsIn": [
                "95N6HtGvbBoXPfSyw"
            ],
            "createdAt": 1619155195784,
            "u": 1619251591182,
            "_id": "JKdwZKogyNt3fGhpT",
            "srcRemId": "kvPTuJefsues7YT9j",
            "srcRemC": "a/fakeImportArticle0.04312119339963427",
            "type": 6,
            "portalType": 4,
            "cp": true,
            "folderOpen": true,
            "portalsIn,prev": [],
            "p": null,
            "subBlocks,prev": [],
            "parent": "95N6HtGvbBoXPfSyw",
            "searchResults": [
                "J9DBe2EHkQNoZoMvr",
                "v5v9AMNxKgM2t7EK5",
                "G8BuATp5eQhzm3BMd",
                "YEbsypkNQKdQYuxDc"
            ],
            "excludedTypeParents": []
        }

I can get some information at hannesfrank/remnote-inspect: A developer plugin for RemNote to inspect a Rem. (github.com)
what I have figured out is that the keys which names “key” determines what to show in a Rem, “references” indicates other Rems which has a link pointing to it.

But I cannot understand what the values of some kinds of keys stands for, such as “rsp”, “portaltype” “type” and etc. Do you have any documents about that?

I don’t think it’s a good idea to generate the json yourself. It contains quite a bit of redundant information runtime data (since the JSON is just a dump of the browser’s IndexedDB).

If you can I would rather try to generate some markdown for pasting.
What constructs do you want to express that are not possible with the markdown syntax?

Thank you for your advice, markdown is much easier than json…
I have written one script converting .xmind files into markdowns for Obsidian, which can be reused for this.
But in Obsidian, the syntax functioning like \portal in Remnote is ![[topic#^ID]], in which the ID can be manually designated. But in Remnote, the syntax ((portal_ID must be got in advance, I wish there will be syntax like ((parent_rem/child/grand_child one day
But it does not matters much, thanks again

1 Like

Another crazy idea would be to not generate a json or markdown document but a runnable python script which in turk generates the document via backend api :upside_down_face:

Then you can access the rem id of each created rem and probably make portals to single rems with ((rem_id. I don’t think multi rem portals are supported by the v0 API.