Currently get_json_object() does not support escaping, see HIVE-2927
The workaround is to use lateral view json_tuple()
:
select v.rootkey, v.key_a, v.key_b from (select '{"rootkey":15,"key.a":16,"key.b":17}' as col) test lateral view json_tuple(col, 'rootkey', 'key.a','key.b') v as rootkey, key_a, key_b;
Result:
v.rootkey v.key_a v.key_b 15 16 17