跳转到内容

parse_json 和 try_parse_json 将输入字符串解释为 JSON 文档,生成 VARIANT 值。

try_parse_json 在解析过程中发生错误时返回 NULL 值。

func.parse_json(<json_string>)
or
func.try_parse_json(<json_string>)
func.parse_json('[-1, 12, 289, 2188, false]')
┌───────────────────────────────────────────────┐
│ func.parse_json('[-1, 12, 289, 2188, false]') │
├───────────────────────────────────────────────┤
│ [-1,12,289,2188,false] │
└───────────────────────────────────────────────┘
func.try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ')
┌──────────────────────────────────────────────────────────────┐
│ func.try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ') │
├──────────────────────────────────────────────────────────────┤
│ {"x":"abc","y":false,"z":10} │
└──────────────────────────────────────────────────────────────┘
PARSE_JSON(<expr>)
TRY_PARSE_JSON(<expr>)
参数 说明
<expr> 字符串类型(例如 VARCHAR)的表达式,包含有效的 JSON 信息。

VARIANT

SELECT parse_json('[-1, 12, 289, 2188, false]');
┌──────────────────────────────────────────┐
│ parse_json('[-1, 12, 289, 2188, false]') │
├──────────────────────────────────────────┤
│ [-1,12,289,2188,false] │
└──────────────────────────────────────────┘
SELECT try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ');
┌─────────────────────────────────────────────────────────┐
│ try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ') │
├─────────────────────────────────────────────────────────┤
│ {"x":"abc","y":false,"z":10} │
└─────────────────────────────────────────────────────────┘