How to create components from JSON

Hi @Emmanuelle, thank you for your answer. Sorry, I was not very clear.
The problem is that I need something more general but effectively in the spirit of go.Figure(json_dict), that is, a method that receives a json_dict as input to generate html components. I am using tabs, so my goal is two solve the issue of changing tabs and keeping the generated content. Below an simple example of what I want to do:

import dash_bootstrap_components as dbc
import dash_html_components as html
from dash.dependencies import Input, Output
tab1_content = Div("simple content")

def some_big_computation():
    
    result = big_computation_here()
    # Result looks like this:  [P("result line 1"), P(["result line 2", Mark("highlighted token")])]
    return result

tabs = html.Div(
    [
        dbc.Tabs(
            [
                dbc.Tab(label="Tab 1", tab_id="tab-1"),
                dbc.Tab(label="Tab 2", tab_id="tab-2"),
            ],
            id="tabs",
            active_tab="tab-1",
        ),
        html.Div(id="content"),
    ]
)

@app.callback(Output("content", "children"), [Input("tabs", "active_tab")])
def switch_tab(at):
    if at == "tab-1":
        return tab1_content
    elif at == "tab-2":
        tab2_content = some_big_computation()
        return tab2_content
    return html.P("This shouldn't ever be displayed...")

I would like to store tab2_content, which is a list of Paragraphs ( P objects) with Markers sometimes. I could indeed store the content of these objects but it would be very cumbersome as they themselves come from a list of complex objects (list of FlairNLP Sentences). So I could try to serialize the content of this Sentence list but it would be more cumbersome I believe.

In any case, I thought the to_plotly_json Component method would have some sort of inverse function (such as from_plotly_json) but I could not find it.

So in the end, I am building a pair of functions to serialize and de-serialize a component. I would like to know if it is good practice, as maybe there is a more appropriate way of doing what I want (given that I could not find a lot of resources about the topic. This comes very close Serialising/Deserialising Dash components).

Thank you again!