hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Lewis (JIRA)" <>
Subject [jira] Commented: (HIVE-1575) get_json_object does not support JSON array at the root level
Date Fri, 22 Oct 2010 23:35:20 GMT


Mike Lewis commented on HIVE-1575:

Yep, I will take care of it once I get a few free cycles.  One concern I have in my patch
is this part:

char firstChar = jsonString.trim().charAt(0);
if (firstChar == '{') {
	// object logic ...
} else if (firstChar == '[') {
	// array logic

Basically, I want to get the first non-whitespace character.  Is there a faster way to do
this rather than just trimming (and essentially creating a new string).  Would a regexp be
more efficient?

Also, changing the extractObjectCache to have an array as a key might reduce the efficiency
a bit.  Is there an alternative that I may have not thought of?

> get_json_object does not support JSON array at the root level
> -------------------------------------------------------------
>                 Key: HIVE-1575
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>          Components: UDF
>    Affects Versions: 0.7.0
>            Reporter: Steven Wong
>            Assignee: Mike Lewis
>         Attachments: 0001-Updated-UDFJson-to-allow-arrays-as-a-root-object.patch
> Currently, get_json_object(json_txt, path) always returns null if json_txt is not a JSON
object (e.g. is a JSON array) at the root level.
> I have a table column of JSON arrays at the root level, but I can't parse it because
of that.
> get_json_object should accept any JSON value (string, number, object, array, true, false,
null), not just object, at the root level. In other words, it should behave as if it were
named get_json_value or simply get_json.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message