【问题标题】:Filter empty object in odata过滤 odata 中的空对象
【发布时间】:2020-06-03 07:56:44
【问题描述】:

我想调用一个 oData 服务。我们有一个具有字段 Parent 的模型。该服务告诉我,父对象是一个对象,其中 iv 是一个字符串。所以我们从 oData 服务中得到如下模型:

{
"total": 0,
"items": [
    {
    "id": "string",
    "data": {
        "Title": {
            "en": "string",
            "nl": "string"
        },
        "Parent": {
            "iv": [
                "string"
            ]
        },
    }
]
}

现在当我们取回数据时,它看起来像这样:

{
    "total": 2,
    "items": [
        {
            "id": "6204c07d-1aef-4bd2-9646-e3ca36c63784",
            "data": {
                "Title": {
                    "en": "Test 1",
                    "nl": "Test 1"
                },
                "Parent": {
                    "iv": []
                },
            },
        },
        {
            "id": "bfd1b084-4166-4fec-9032-08047c8313d2",
            "data": {
                "Title": {
                    "en": "Test 2",
                    "nl": "Test 2"
                },
                "Parent": {
                    "iv": [
                        "6204c07d-1aef-4bd2-9646-e3ca36c63784"
                    ]
                },
            },
        },
}

现在我想过滤所有父项为 [] 的项目(因此没有选择父项)。我尝试了以下过滤器,但都没有成功

  • data/Parent/iv eq [] |返回 0 个结果

  • data/Parent/iv eq null |返回 0 个结果

  • data/Parent eq null |返回 0 个结果

  • length(data/Parent/iv) eq 0 |不支持 OData 操作

  • not data/Parent/any() | Any/All 只能在集合之后使用。

  • not data/Parent/any() | Any/All 只能在集合之后使用。

  • data/Parent/iv/$count eq 0 |服务器错误

【问题讨论】:

    标签: odata


    【解决方案1】:

    发现对于这种情况,以下工作:

    • empty(data/Parent/iv)

    【讨论】:

      猜你喜欢
      • 2021-03-21
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多