0

サービスから取得している json と、別のグループによって作成されたデータベース呼び出しが、無効なデータの組み合わせを提供し、ダウンストリームで多くの意図しないエラーを引き起こしている状況がいくつかあります。

以下の小さな例では、「rowContent」フィールドが「1」に等しい場合、対応する「行」は入力された 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 スキーマではありません。JSON Schema は、他のビットのデータを相互参照することなく、JSON データの構造を検証します。

/table/0/aRowContent/rowContent1問題はデータ構造の冗長性である可能性があると思います-のヌルチェックから同じ情報を推測できるのに、なぜ必要なの/table/0/row1ですか?

于 2013-04-18T10:02:20.063 に答える