{"Entry":{"collection":"func","key":"json-object-agg-strict","name":"json_object_agg_strict","aliases":[],"metadata":{"changed_in":[],"changes":[{"descriptions_changed":false,"doc_overhaul":false,"from":"15","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"added","to":"16"},{"descriptions_changed":true,"doc_overhaul":false,"from":"18","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"changed","to":"19"}],"content_hash":"3ca431f69978a722ac8f5114670cb9cf8cad3bac21fa4535725f60ddf13fda07","derived_content_hash":"7896b138c93339b4edf7fc876bfdf012e638a52ce8d05a8a409d854a54d3bee1","documentation_refresh":{"batch":"20261113","original_source_rev":"wiki-repair-20261023:05a42470523e1f20fbbf63264bacfdf0df7d3a7c0013a2fee9540b94ca2216d4","versions":{"16":"16.16","17":"17.12","18":"18.7","19":"19rc2"}},"first_version":"16","group":"aggregate","group_label":"Aggregate Functions","groups":["aggregate"],"imported_at":"2026-09-14T21:49:48.855365+08:00","last_version":"20","name":"json_object_agg_strict","name_key":"json_object_agg_strict","position":21020,"present_in":["16","17","18","19","20"],"repair_provenance":{"original_source_revision":"2026-09-14T13:14:25.684213+00:00@99e6866c","receipt_sha256":"5ac5aa3469c1a8fb67d3444145b34abd3e8cb39cd7d11436ea5308d02cb0d5ea","repair":"wiki-repair-20261023"},"signature":"json_object_agg_strict ( key \"any\", value \"any\" ) → json","signature_count":1,"slug":"json-object-agg-strict","source_rev":"wiki-repair-20261023:05a42470523e1f20fbbf63264bacfdf0df7d3a7c0013a2fee9540b94ca2216d4","summary":"Collects all the key/value pairs into a JSON object.","summary_zh":""}},"Definition":{"Collection":"func","Key":"json-object-agg-strict","SourceDatabase":"center","Version":"18","SourceTable":"func","SourceKey":"json-object-agg-strict","SourceRevision":"wiki-repair-20261023:05a42470523e1f20fbbf63264bacfdf0df7d3a7c0013a2fee9540b94ca2216d4","Facts":{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. The key cannot be null. If the value is null then the pair is skipped. Duplicate keys are handled as for json_object_agg and jsonb_object_agg, after removing any pairs with null values.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. The \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e cannot be null. If the \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e is null then the pair is skipped. Duplicate keys are handled as for \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e and \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e, after removing any pairs with null values.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。key 不能为空。如果 value 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 json_object_agg 和 jsonb_object_agg 相同。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。\u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e 不能为空。如果 \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e 和 \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e 相同。","doc":{"anchor":"FUNCTIONS-AGGREGATE-TABLE","file":"functions-aggregate.html","sha256":"31d3dcd36ef353484b4b3535f9f0d1cc239c3910146257fe5178f99b90b501e2","slug":"18"},"documentation_revision":{"inputs":[{"file":"functions-aggregate.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"31d3dcd36ef353484b4b3535f9f0d1cc239c3910146257fe5178f99b90b501e2","version":"18.7"},{"file":"functions-aggregate.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"0bf7506d27b71666fc74840a21a8f77c8a92735174f1d05033865961722e457c","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"},"group":"aggregate","group_label":"聚合函数","lang":"en","layout":"table-new","pages":["functions-aggregate.html"],"prose_only":false,"signatures":[{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. The key cannot be null. If the value is null then the pair is skipped. Duplicate keys are handled as for json_object_agg and jsonb_object_agg, after removing any pairs with null values.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. The \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e cannot be null. If the \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e is null then the pair is skipped. Duplicate keys are handled as for \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e and \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e, after removing any pairs with null values.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。key 不能为空。如果 value 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 json_object_agg 和 jsonb_object_agg 相同。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。\u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e 不能为空。如果 \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e 和 \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e 相同。","examples":[],"html":"\u003ccode class=\"function\"\u003ejson_object_agg_strict\u003c/code\u003e ( \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e, \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e ) → \u003ccode class=\"returnvalue\"\u003ejson\u003c/code\u003e","returns":"json","text":"json_object_agg_strict ( key \"any\", value \"any\" ) → json","zh_from":"same-version-manual"}],"translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/functions-aggregate.html","sha256":"68da7af09e2749a855188bbbff99ae036fc7eece4e19b8e048baffd28aa3ca59"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"zh_from":"same-version-manual"},"ManualEvidence":{"doc":{"anchor":"FUNCTIONS-AGGREGATE-TABLE","file":"functions-aggregate.html","sha256":"31d3dcd36ef353484b4b3535f9f0d1cc239c3910146257fe5178f99b90b501e2","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"func","Key":"json-object-agg-strict","SourceDatabase":"center","Version":"18","Locale":"en","Title":"json_object_agg_strict","Summary":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. The key cannot be null. If the value is null then the pair is skipped. Duplicate keys are handled as for json_object_agg and jsonb_object_agg, after removing any pairs with null values.","BodyHTML":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode\u003eto_json\u003c/code\u003e or \u003ccode\u003eto_jsonb\u003c/code\u003e. The \u003cem\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e cannot be null. If the \u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e is null then the pair is skipped. Duplicate keys are handled as for \u003ccode\u003ejson_object_agg\u003c/code\u003e and \u003ccode\u003ejsonb_object_agg\u003c/code\u003e, after removing any pairs with null values.","SourceRevision":"wiki-repair-20261023:05a42470523e1f20fbbf63264bacfdf0df7d3a7c0013a2fee9540b94ca2216d4","ContentHash":"062468e48c0c33050a1a92e51eb1a70a1167c64abdcee4dc375d78995499ad3a","Payload":{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. The key cannot be null. If the value is null then the pair is skipped. Duplicate keys are handled as for json_object_agg and jsonb_object_agg, after removing any pairs with null values.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. The \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e cannot be null. If the \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e is null then the pair is skipped. Duplicate keys are handled as for \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e and \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e, after removing any pairs with null values.","signatures":[{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. The key cannot be null. If the value is null then the pair is skipped. Duplicate keys are handled as for json_object_agg and jsonb_object_agg, after removing any pairs with null values.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. The \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e cannot be null. If the \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e is null then the pair is skipped. Duplicate keys are handled as for \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e and \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e, after removing any pairs with null values.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。key 不能为空。如果 value 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 json_object_agg 和 jsonb_object_agg 相同。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。\u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e 不能为空。如果 \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e 和 \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e 相同。","examples":[],"html":"\u003ccode class=\"function\"\u003ejson_object_agg_strict\u003c/code\u003e ( \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e, \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e ) → \u003ccode class=\"returnvalue\"\u003ejson\u003c/code\u003e","returns":"json","text":"json_object_agg_strict ( key \"any\", value \"any\" ) → json","zh_from":"same-version-manual"}]}},"RequestedLocale":"en","Fallback":false,"Versions":["16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":[{"Version":"18","Ordinal":0,"Hash":"d91bac4d22cf95cf847d6a600142ea82d545bb16100322cbcacc665f31b3c5cc","Text":"json_object_agg_strict ( key \"any\", value \"any\" ) → json","Returns":"json","Payload":{"description":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per to_json or to_jsonb. The key cannot be null. If the value is null then the pair is skipped. Duplicate keys are handled as for json_object_agg and jsonb_object_agg, after removing any pairs with null values.","description_html":"Collects all the key/value pairs into a JSON object. Key arguments are coerced to text; value arguments are converted as per \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e or \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e. The \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e cannot be null. If the \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e is null then the pair is skipped. Duplicate keys are handled as for \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e and \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e, after removing any pairs with null values.","description_zh":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 to_json 或 to_jsonb 进行转换。key 不能为空。如果 value 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 json_object_agg 和 jsonb_object_agg 相同。","description_zh_html":"将所有键/值对收集到一个 JSON 对象中。键参数强制转换为文本；值参数按照 \u003ccode class=\"function\"\u003eto_json\u003c/code\u003e 或 \u003ccode class=\"function\"\u003eto_jsonb\u003c/code\u003e 进行转换。\u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e 不能为空。如果 \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e 为空，则跳过该键/值对。移除所有值为空的键/值对后，重复键的处理方式与 \u003ccode class=\"function\"\u003ejson_object_agg\u003c/code\u003e 和 \u003ccode class=\"function\"\u003ejsonb_object_agg\u003c/code\u003e 相同。","examples":[],"html":"\u003ccode class=\"function\"\u003ejson_object_agg_strict\u003c/code\u003e ( \u003cem class=\"parameter\"\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e, \u003cem class=\"parameter\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"type\"\u003e\"any\"\u003c/code\u003e ) → \u003ccode class=\"returnvalue\"\u003ejson\u003c/code\u003e","returns":"json","text":"json_object_agg_strict ( key \"any\", value \"any\" ) → json","zh_from":"same-version-manual"}}],"Spellings":null,"SQLState":null,"Evidence":null}
