我承认我的大学时光已经一去不复返了,我可能比我想象的还要生疏一些。
正在阅读此 EBNF:
<create_object_expression> ::= '{' [{property_name | "property_name"} : <scalar_expression>][,…n] '}'
我理解这意味着表达式以文字“{”开头并以“}”结尾。在它们之间,有一个可选的序列。但是,这是否也意味着有效序列可以是“
{ : <what ever scalar expression is parsed here> }
”,因为 property_name | "property_name"
是可选的?
这里什么是可选的?
根据此文档,
property_name
不是可选的,它充当 JSON 数据中的 key
,如下所示。
{
"name": "Pavan",
"age": 30,
"isStudent": false
}
在上面的数据中,name,age和isStudent是property_names。根据 EBNF,它是有效的格式,因为它以
{
开头并以 }
结尾。
根据此文档,
Scalar Expressions
不包含属性名称,如下面的示例所示。
SELECT VALUE ((2 + 11 % 7) - 2) / 2
输出:
[
2
]
在上面的示例中,输出不包含任何属性名称。大多数情况下,property_name 在标量表达式中是可选的,意味着任何数学方程或任何布尔结果。