0
驗證屬性名我有這樣的JSON對象JSON模式在陣列
{
"status": 68,
"error": [
{
"description_ru": "Ошибка авторизации. Пожалуйста, проверьте правильность введенных e-mail и пароля."
},
{
"description_en": "Authorization error. Please check login and password."
}
]
}
而且我寫下一個JSON模式
{
"title": "Неверно указан пароль",
"type": "object",
"properties":{
"status":{
"description": "Статус операции",
"type": "integer"
},
"error":{
"description":"Информация об ошибке на разных языках",
"type": "array",
"items": {
"properties":{
"description_ru":{
"description": "Информация об ошибке на русском языке",
"type": "string"
},
"description_en":{
"description": "Информация об ошибке на английском языке",
"type": "string"
}
}
}
}
},
"required":["status", "error"],
"additionalProperties": false
}
我有下一個問題。如果我JSON模式錯誤更改名稱到錯誤編輯和運行驗證,然後我得到一個錯誤:
false Property error does not exist in the schema
好吧,這是完美的!
但是,如果我在JSON模式更改屬性名稱數組錯誤內description_en到* description_en編輯和運行驗證,那麼我不明白的錯誤。
請告訴我爲什麼會發生這種情況?
好吧,我讓這個模式你的建議: https://jsfiddle.net/u3751gsn/ 而這個方法行不通。 如果可以,請使用此在線驗證器https://json-schema-validator.herokuapp.com/ –
你說得對,我沒有仔細看json的數據。在你的情況下,description_en和description_ru不是必需的,你可以使用其中一個或另一個,因此它們都是可選的。我更新了回覆,我想現在你會得到你的預期。 – Pedro
Hello Pedro! 謝謝你的幫助!如果您指定數組元素的數量**「minItems」,則您的解決方案將完全解決問題:2 **,請將其添加到您的答案中,並且我接受此答案。 –