[ 
https://issues.apache.org/jira/browse/HIVE-9864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Pivovarov updated HIVE-9864:
--------------------------------------
    Description: 
Existing udf get_json_object supports limited JsonPath syntax.
It would be nice if we have full JsonPath syntax support.

We can use Jayway JsonPath 2.0.0 to query json (Apache License, Version 2.0)
Reasons:
1. existing get_json_object syntax is limited in comparison to Jayway JsonPath

2. get_json_object uses lots of custom java code which can be replaced with 
simple JsonPath API calls, e.g.
{code}
String result = JsonPath.parse(json).read(path)
{code}

I think we should not change existing get_json_object udf and better to create 
new one because Jayway JsonPath works slightly different in some situations.

  was:
Existing udf get_json_object supports limited 
We can use Jayway JsonPath 1.2.0 to query json (Apache License, Version 2.0)
Reasons:
1. existing get_json_object syntax is limited in comparison to JsonPath

2. Reason to have 175 lines of code to parse json is unclear.
Looks like we can replace code btw lines 129-304 with
{code}
String result = JsonPath.parse(json).read(path)
{code}

3. We can add some smoke tests to test refactored get_json_object udf. Existing 
get_json_object impl requires much more testcases because it has 175 lines on 
custom code to parse json.



> Create UDF jsonpath which support full JsonPath syntax
> ------------------------------------------------------
>
>                 Key: HIVE-9864
>                 URL: https://issues.apache.org/jira/browse/HIVE-9864
>             Project: Hive
>          Issue Type: Improvement
>          Components: UDF
>            Reporter: Alexander Pivovarov
>            Assignee: Alexander Pivovarov
>
> Existing udf get_json_object supports limited JsonPath syntax.
> It would be nice if we have full JsonPath syntax support.
> We can use Jayway JsonPath 2.0.0 to query json (Apache License, Version 2.0)
> Reasons:
> 1. existing get_json_object syntax is limited in comparison to Jayway JsonPath
> 2. get_json_object uses lots of custom java code which can be replaced with 
> simple JsonPath API calls, e.g.
> {code}
> String result = JsonPath.parse(json).read(path)
> {code}
> I think we should not change existing get_json_object udf and better to 
> create new one because Jayway JsonPath works slightly different in some 
> situations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to