我正在使用get_json_object运行hive查询来从HDFS中的文件中读取json字符串。 我碰到了一些奇怪的行为: 如果json如下:
{"data":{"oneSlash":"aaa\bbb","twoSlashes":"ccc\\ddd","threeSlashes":"eee\\\fff"}}
查询结果为:
{"oneSlash":"aaabbb","twoSlashes":"ccc\\ddd","threeSlashes":"eee\\fff"}
我理解'oneSlash'和'threeSlashes'结果,但为什么'twoSlashes'不等于“ccc \ ddd”? 毕竟'\'应该转义为'\'
问题是:问题是:SELECT get_json_object(escaping_test.data, '$.data') FROM escaping_test
答案 0 :(得分:1)
这是因为\ b和\ f是有效的转义字符,而\ d不是。有一篇关于此更详细的帖子:Where can I find a list of escape characters required for my JSON ajax return type?