'How to create a python variable from a json format

I want to create a global variable from json data. I'm sending the json data with websockets from a server to a client and I want that when the client receives json data, it creates a global variables for further use.

My json data is:

set_variable_data = [{
        'component' : {
            'name' : input("Component name: "),
            'evse' : {
                'id' : int(input("Number of Evses: ")),
                'connector_id' : int(input("Number of connectors: "))
            }
        },
        'variable' : {
            'name' : input("Variable name: ")
        }
    }]

And I've tried to implement this code into the client program:

global set_variable_data[0]['variable']['name'] = set_variable_data[0]['component']['evse']['connector_id']

There's no problem with the send/receive procedures, all the messages are sent and received between the client and the server. I just want to know if we can create a global variable from this.

Thanks in advance



Solution 1:[1]

You can use the global keyword to modify a global variable from inside the function thar receives the data:

variable_data = {}

def receive_data(interface):
    global variable_data
    variable_data = interface.recv_json()

The global keyword allows to reference the variable variable_data when is assigned a value to it, in other case you will be making the assignation to a variable only inside the context of the function.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1