0

我在一些情况下,我从另一个组创建的服务和数据库调用中获取的 json 给了我无效的数据组合,并在下游造成了许多意外错误。

在下面的小示例中,如果“rowContent”字段等于“1”,则对应的“row”需要是一个填充的 javascript 对象。“rowContent1”和“row1”,“rowContent2”和“row2”是正确的。“rowContent3”和“row3”不是。

我承认这个 json 的结构并不好。好吧,这有点古怪。它与我在生产中处理的内容相当接近。我几乎无法控制它。

在我开始尝试在“row3”中使用不存在的数据之前,是否有数据驱动的方式来描述这样的 json 数据关系,并且可以验证?

或者,你会建议我在这种情况下做什么?

非常感谢,

-拉里

{ "table" : [
        { 
            "aRowContent" : {
                "rowContent1" : "1",
                "rowContent2" : "0",
                "rowContent3" : "1",
            },
            "row1" : {
                "myRowValue" : "red"
            },
            "row2" : null,
            "row3" : null
        }
    ]
}
4

1 回答 1

1

当然,不是 JSON Schema。JSON Schema 验证 JSON 数据的结构,而无需交叉引用其他数据位。

/table/0/aRowContent/rowContent1我认为问题可能是您的数据结构中的冗余 -当您可以从空检查中推断出相同的信息时,您为什么需要/table/0/row1

于 2013-04-18T10:02:20.063 回答