Presumably, that get_object_vars function exists elsewhere in the code
Actually, it's a standard PHP function. It turns an object into an (associative) array of its properties.
PHP's json_decode turns the map/hash/whatever into technically an object rather than an array. Little odd, though perhaps fitting the 'JS' part of 'JSON' in a way. In that case, the extra step is needed to get something you can refer to as an array. From the print_r() output, it looks like it may have actually turned it into an array since it only had numeric keys, but that's too deep in PHP's DWIM for me to suss out.