Skip to content

InfluxQLQueryApiImpl cannot cast JsonNull #808

@leonardo-belotti-aiknow

Description

Hi,
I'm trying to use queryJSON method of InfluxQLQueryApi.
If I have null values resulting from my query, the library fires an exception because of the cast forced to String.

As we can see from line 337 of the class:

JsonArray jvals = sobj.get("values").getAsJsonArray(); if (jvals != null) { for(JsonElement jval : jvals) { List<Object> values = new ArrayList(); JsonArray jae = jval.getAsJsonArray(); int index = 0; for(JsonElement je : jae) { List<String> columnKeys = new ArrayList(serie.getColumns().keySet()); if (this.extractor != null) { String stringVal = je.getAsString(); Object ov = this.extractor.extractValue((String)columnKeys.get(index), stringVal, id, serie.getName()); values.add(ov); } else { values.add(je.getAsString()); } ++index; } Objects.requireNonNull(serie); serie.addRecord(new InfluxQLQueryResult.Series.Record(serie, values.toArray())); } } 

When it gets the null value, the instruction String stringVal = je.getAsString(); fires the exception.

Am I doing something wrong?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions