Java JSON结构中的运算符(and、or)

Java JSON结构中的运算符(and、or),java,json,protocol-buffers,Java,Json,Protocol Buffers,我以前从未见过这种JSON,我不确定如何使用代码生成这种结构。在下面的JSON结构产品中包含一个对象数组以及带有或运算符的对象。有人能解释一下这个JSON结构是如何有效的,以及我们如何为这种JSON结构生成原型缓冲区吗 { "id": 147, "display_text": "Entertainment available", "quality"

我以前从未见过这种JSON,我不确定如何使用代码生成这种结构。在下面的JSON结构
产品中
包含一个对象数组以及带有
运算符的对象。有人能解释一下这个JSON结构是如何有效的,以及我们如何为这种JSON结构生成原型缓冲区吗

{
            "id": 147,
            "display_text": "Entertainment available",
            "quality": "better",
            "cost": "free or paid",
            "exists": "yes",
            "type": "streaming",
            "updated_at": "2019-01-30T09:13:30Z",
            "offerings": [
                [
                    {
                        "delivery_medium": "in-seat",
                        "content_type": "livetv",
                        "selection_type": "live"
                    },
                    "and",
                    {
                        "delivery_medium": "in-seat",
                        "content_type": "movies",
                        "selection_type": "loop"
                    }
                ],
                "or",
                {
                    "delivery_medium": "streaming",
                    "content_type": "avod",
                    "selection_type": "on-demand"
                }
            ]
        }

这是json数组的一个可爱的用法。。。这可能有助于解释这一点

产品
是一个包含三个元素的数组

  • 元素[0]是一个子数组,其中也包含3个元素—一个对象、一个值为
    的字符串以及另一个对象
  • 元素[1]是一个值为
  • 元素[2]是定义某些值的对象
在其中一个树状视图JSON验证器中更容易看到

这样,用户就有了一棵有效的树,他们可以根据它进行一些处理(也许可以将其用作做出某种决策的规则)

注:自

数组用于有序元素。在JSON中,数组中的每个元素可能是不同的类型


JavaScript对象表示法(JSON)()的定义不包括任何逻辑或算术运算符,也不包括一般运算符。JSON只是定义为“数据交换格式”


您的示例在语法上是有效的—因为不同的值类型可以在JSON数组中共存—但除此之外,那些“and”和“and”或“or”运算符并没有任何意义。最有可能的是,一个用于处理JSON的程序将假定这些值的存在并实现某种逻辑。

抱歉,还没有处理protobuf部分的问题。