It is easily possible to create a member function or variable that has the same name as a global variable or function. In fact, the fromJson() function (see below) exists in all objects, but also exists as a global function. To access the global version of a function, variable or object and not the one local to the object, add global. in front of it. So, for example, to call the global version of fromJson() from within an object, you would do:
global.fromJson()
Simply doing: fromJson() within an object would instead call its fromJson() function, which works slightly differently than the global version.
Of course this applies to any function / variable / symbol name you create.