summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/func.sgml31
1 files changed, 28 insertions, 3 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index be7b00b1f32..e397386bf24 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -10095,7 +10095,7 @@ table2-mapping
</entry>
<entry><type>json</type></entry>
<entry>
- Returns JSON object pointed to by <parameter>path_elems</parameter>.
+ Returns JSON value pointed to by <parameter>path_elems</parameter>.
</entry>
<entry><literal>json_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','f4')</literal></entry>
<entry><literal>{"f5":99,"f6":"foo"}</literal></entry>
@@ -10109,7 +10109,7 @@ table2-mapping
</entry>
<entry><type>text</type></entry>
<entry>
- Returns JSON object pointed to by <parameter>path_elems</parameter>.
+ Returns JSON value pointed to by <parameter>path_elems</parameter>.
</entry>
<entry><literal>json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','f4', 'f6')</literal></entry>
<entry><literal>foo</literal></entry>
@@ -10192,7 +10192,7 @@ table2-mapping
</entry>
<entry><type>SETOF json</type></entry>
<entry>
- Expands a JSON array to a set of JSON elements.
+ Expands a JSON array to a set of JSON values.
</entry>
<entry><literal>json_array_elements('[1,true, [2,false]]')</literal></entry>
<entry>
@@ -10205,6 +10205,23 @@ table2-mapping
</programlisting>
</entry>
</row>
+ <row>
+ <entry>
+ <indexterm>
+ <primary>json_typeof</primary>
+ </indexterm>
+ <literal>json_typeof(json)</literal>
+ </entry>
+ <entry><type>text</type></entry>
+ <entry>
+ Returns the type of the outermost JSON value as a text string. The types are
+ <literal>object</>, <literal>array</>, <literal>string</>, <literal>number</>,
+ <literal>boolean</>, and <literal>null</>. (See note below regarding the
+ distinction between a JSON <literal>null</> and a SQL NULL.)
+ </entry>
+ <entry><literal>json_typeof('-123.4')</literal></entry>
+ <entry><literal>number</literal></entry>
+ </row>
</tbody>
</tgroup>
</table>
@@ -10237,6 +10254,14 @@ table2-mapping
</para>
</note>
+ <note>
+ <para>
+ The <literal>json_typeof</> function's <literal>null</> return value should not be confused
+ with a SQL NULL. While calling <literal>json_typeof('null'::json)</> will return <literal>null</>,
+ calling <literal>json_typeof(NULL::json)</> will return a SQL NULL.
+ </para>
+ </note>
+
<para>
See also <xref linkend="functions-aggregate"> about the aggregate
function <function>json_agg</function> which aggregates record