1

json-schema-validator API v4を使用するとエラーが発生します。私はやろうとします:

final JsonValidator validator = new JsonValidator(JsonLoader.fromPath("schema.json"));
ValidationReport report = validator.validate(data);

しかし、エラーが発生するたびに: # [スキーマ]: 不明なキーワードの連絡先

schema.json :
{
    "contacts": {
        "description": "The list of contacts",
        "type": "array",
        "optional": true,
        "items": {
            "description": "A contact",
            "type": "object",
            "properties": {
                "givenName": {
                    "description": "Person's first name",
                    "type": "string",
                    "maxLength": 64,
                    "optional": true
                },
                "familyName": {
                    "description": "A person's last name",
                    "type": "string",
                    "maxLength": 64,
                    "optional": true
                }
            }
        }
    }
}

よろしく

4

2 に答える 2

1

私が直感できる限り、データは次のようになります-> json_data = {"contacts":array}。これが当てはまる場合、基本的に最も外側のものはオブジェクト(基本的には完全なjsonオブジェクト自体)であり、jsonの「トップレベルルート」から始まるスキーマを次のように定義する必要があります-> schema.json:

{
"description": "the outer json",
        "type": "object",
        "properties": {
            "contacts": {
                          "description": "The list of contacts",
                          "type": "array",
                          "optional": true,
                          "items": {
                                     "description": "A contact",
                                     "type": "object",
                                     "properties": {
                                     "givenName": {

etc.....

ざらざらしたへこみは許してください。また、これはテストしていません。機能するかどうかを確認してください。機能しない場合は、json_data(少なくとも例)とAPIの例を提供して、どこが間違っているかを特定できるようにすることをお勧めします。

于 2012-12-03T13:24:52.010 に答える