JSON-LD帧匹配属性不存在时如何不输出默认空值
解决方案
你只需要调整帧中isVariantOf属性的配置,增加@omitDefault标记即可,具体修改如下:
修改后的完整帧内容
{ "@context": { "@vocab": "http://schema.org/", "ex": "http://example.com/" }, "@graph": { "@type": "ProductGroup", "@requireAll": true, "isVariantOf": { "@default": [], "@omitDefault": true } } }
配置说明
- 原来的
"isVariantOf": []是"isVariantOf": {"@default": []}的简写,作用是匹配没有isVariantOf属性的顶层ProductGroup节点 - 新增的
@omitDefault: true会告诉JSON-LD帧处理器:当属性值等于配置的默认值时,输出时直接省略该字段,不会再生成isVariantOf: null的冗余字段
如果你希望所有属性的默认空值都被省略,也可以把@omitDefault: true加在帧的根节点,作用范围是全局所有属性。
内容的提问来源于stack exchange,提问作者King Chung Huang
相关产品推荐
相关产品推荐

