public final class JsonDSL extends Object
Functions for json
PostgreSQL operator support in jOOQ
Reference: https://www.postgresql.org/docs/11/functions-json.html
Constructor and Description |
---|
JsonDSL() |
Modifier and Type | Method and Description |
---|---|
static org.jooq.Field<Json> |
arrayElement(org.jooq.Field<Json> jsonField,
int index)
Get JSON array element (indexed from zero, negative integers count from the end), using the
-> operator |
static org.jooq.Field<String> |
arrayElementText(org.jooq.Field<Json> jsonField,
int index)
Get JSON array element as
text rather than json(b) (indexed from zero, negative integers
count from the end), using the ->> operator |
static org.jooq.Field<Json> |
field(Json json)
Create a jOOQ
Field wrapping the Json object. |
static org.jooq.Field<Json> |
field(String json)
|
static org.jooq.Field<Json> |
fieldByKey(org.jooq.Field<Json> jsonField,
String key)
Get JSON object field by key using the
-> operator |
static org.jooq.Field<String> |
fieldByKeyText(org.jooq.Field<Json> jsonField,
String key)
Get JSON object field as
text rather than json(b) , using the ->>
operator |
static org.jooq.Field<Json> |
objectAtPath(org.jooq.Field<Json> jsonField,
Collection<String> path)
Get JSON object at specified path using the
#> operator |
static org.jooq.Field<Json> |
objectAtPath(org.jooq.Field<Json> jsonField,
String... path)
Get JSON object at specified path using the
#> operator |
static org.jooq.Field<String> |
objectAtPathText(org.jooq.Field<Json> jsonField,
Collection<String> path)
Get JSON object at specified path as
text rather than json(b) , using the #>>
operator |
static org.jooq.Field<String> |
objectAtPathText(org.jooq.Field<Json> jsonField,
String... path)
Get JSON object at specified path as
text rather than json(b) , using the #>>
operator |
public static org.jooq.Field<Json> field(String json)
Field
wrapping a Json
object representing a json
value for the JSON
string. Note that the JSON is not validated (any formatting errors will only occur when
interacting with the database).json
- JSON stringjson
Field
for the JSON stringpublic static org.jooq.Field<Json> field(Json json)
Field
wrapping the Json
object.json
- Jsonb
object to wrapjson
Field
for the Jsonb
objectpublic static org.jooq.Field<Json> arrayElement(org.jooq.Field<Json> jsonField, int index)
Get JSON array element (indexed from zero, negative integers count from the end), using the
->
operator
Example: '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2
Example result: {"c":"baz"}
jsonField
- A JSON Field
containing an array to get the array element fromindex
- Array index; negative values count from the endField
representing the extracted array elementpublic static org.jooq.Field<String> arrayElementText(org.jooq.Field<Json> jsonField, int index)
Get JSON array element as text
rather than json(b)
(indexed from zero, negative integers
count from the end), using the ->>
operator
Example: '[1,2,3]'::json->>2
Example result: 3
jsonField
- A JSON Field
containing an array to get the array element fromindex
- Array index; negative values count from the endField
representing the extracted array element, as textpublic static org.jooq.Field<Json> fieldByKey(org.jooq.Field<Json> jsonField, String key)
Get JSON object field by key using the ->
operator
Example: '{"a": {"b":"foo"}}'::json->'a'
Example result: {"b":"foo"}
jsonField
- The JSON Field
to extract the field fromkey
- JSON field key nameField
representing the extracted valuepublic static org.jooq.Field<String> fieldByKeyText(org.jooq.Field<Json> jsonField, String key)
Get JSON object field as text
rather than json(b)
, using the ->>
operator
Example: '{"a":1,"b":2}'::json->>'b'
Example result: 2
jsonField
- The JSON Field
to extract the field fromkey
- JSON field key nameField
representing the extracted array element, as textpublic static org.jooq.Field<Json> objectAtPath(org.jooq.Field<Json> jsonField, String... path)
Get JSON object at specified path using the #>
operator
Example: '{"a": {"b":{"c": "foo"}}}'::json#>'{a,b}'
Example result: {"c": "foo"}
jsonField
- The JSON Field
to extract the path frompath
- Path to the the object to returnField
representing the object at the specified pathobjectAtPath(Field, Collection)
public static org.jooq.Field<Json> objectAtPath(org.jooq.Field<Json> jsonField, Collection<String> path)
Get JSON object at specified path using the #>
operator
Example: '{"a": {"b":{"c": "foo"}}}'::json#>'{a,b}'
Example result: {"c": "foo"}
jsonField
- The JSON Field
to extract the path frompath
- Path to the the object to returnField
representing the object at the specified pathobjectAtPath(Field, String...)
public static org.jooq.Field<String> objectAtPathText(org.jooq.Field<Json> jsonField, String... path)
Get JSON object at specified path as text
rather than json(b)
, using the #>>
operator
Example: '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}'
Example result: 3
jsonField
- The JSON Field
to extract the path frompath
- Path to the the object to returnField
representing the object at the specified path, as textobjectAtPathText(Field, Collection)
public static org.jooq.Field<String> objectAtPathText(org.jooq.Field<Json> jsonField, Collection<String> path)
Get JSON object at specified path as text
rather than json(b)
, using the #>>
operator
Example: '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}'
Example result: 3
jsonField
- The JSON Field
to extract the path frompath
- Path to the the object to returnField
representing the object at the specified path, as textobjectAtPath(Field, String...)
Copyright © 2019. All rights reserved.