假设有以下json字符串:
{"name": "John", "age": 30, "
ci
ty": "New York"}
要从中提取"name"属性的值,可以使用JSON_QUERY
函数
。在Oracle中,可以这样写:
SELECT JSON_QUERY('{"name": "John", "age": 30, "
ci
ty": "New York"}', '$.name') FROM DUAL;
这将返回以下结果:
"John"
在这个例子中,JSON_QUERY
函数
的第一个参数是JSON字符串,第二个参数是JSON路径表达式。JSON路径表达式"$ .name"表示提取根对象中的"name"属性值。
此外,可以在JSON_QUERY
函数
中使用一些模式来使其更为灵活。例如,可以使用"ON ERROR"模式指定当无法找到所需的属性值时返回的默认值的。
SELECT JSON_QUERY('{"name": "John", "age": 30, "
ci
ty": "New York"}', '$.foo' ON ERROR 'Unknown') FROM DUAL;
在这个例子中,JSON_QUERY将尝试从根对象中提取名为"foo"的属性值。由于没有这个属性名,
函数
将返回预设的默认值"Unknown"。