OK, thank you for the Dictionary hint. So apparently JSON.parse returns a JSONParseResult. After checking no errors, I had to then call get_result() method of JSONParseResult. This returned a string. Then I had to call parse_json() passing this string as a parameter. This is what finally resulted in the Dictionary variant I needed. Yay!
Code below:
data string passed (downloaded from cloud):
str_card_dict = "{\"id\":0,\"x\":388.114319,\"y\":285.681793,\"to_lines\": [{\"0\":\"N\"},{\"1\":\"N\"},{\"2\":\"N\"},{\"3\":\"N\"},{\"4\":\"N\"},{\"5\":\"N\"},{\"6\":\"N\"},{\"7\":\"N\"}],\"from_lines\": [{\"0\":\"[]\"},{\"1\":\"[]\"},{\"2\":\"[]\"},{\"3\":\"[]\"},{\"4\":\"[]\"},{\"5\":\"[]\"},{\"6\":\"[]\"},{\"7\":\"[]\"}]}"
var result_json = JSON.parse(str_card_dict) # data string from cloud to be converted
#var result = {}
if result_json.error != OK: # If parse has errors
print("Error: ", result_json.error)
print("Error Line: ", result_json.error_line)
print("Error String: ", result_json.error_string)
else: # If parse OK
# result_json typeof = JSONParseResult object
print("result_json of JSON.parse typeof=", typeof(result_json))
var json_data = result_json.get_result() # should return a Variant of type string
print("json_data typeof=", typeof(json_data))
#print(json_data)
var result_dict = parse_json(json_data)
print("result_dict typeof =", typeof(result_dict))
print(result_dict)
var keys = result_dict.keys()
print(keys)