[ 
https://issues.apache.org/jira/browse/HIVE-2927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16660136#comment-16660136
 ] 

Michael Chirico commented on HIVE-2927:
---------------------------------------

workaround is to use lateral view json_tuple

 

select cdotd

from my_tbl

  lateral view json_tuple(json, ''c.d") J as cdotd

> Allow escape character in get_json_object
> -----------------------------------------
>
>                 Key: HIVE-2927
>                 URL: https://issues.apache.org/jira/browse/HIVE-2927
>             Project: Hive
>          Issue Type: Improvement
>          Components: Serializers/Deserializers
>    Affects Versions: 0.8.1, 0.9.0
>            Reporter: Sean McNamara
>            Priority: Major
>         Attachments: HIVE-2927.1.patch.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> *Background:*
> get_json_object extracts json objects from a json string based on a specified 
> path.
> *Problem:*
> The current implementation of get_json_object can't see keys with a '.' in 
> them.  Our data contains '.' in the keys, so we have to filter our json keys 
> through a streaming script to replace '.' for '_'.
> *Example:*
> {{json = {"a":{"b": 1}, "c.d": 2}}}
> {{get_json_object(json, "$.a.b") returns: 1}}
> {{get_json_object(json, "$.c.d") returns: NULL}}
> In the present implementation of get_json_object, c.d is not addressable.
> *Proposal:*
> The desired behavior would be to allow the JSON path to be escape-able, like 
> so:
> {{get_json_object(json, '$.c\\\.d') would return: 2}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to