使用 JSON 模式文件存储没有值的失败文件
Fail Files that have no value stored using JSON Schema file
我有使用模式文件验证 .json 文件的代码。
我正在尝试验证值列表。
但是如果文件有一个“NO_DATA”、“EMPTY”或“NULL”存储为一个值,我想要
Splunk_Status = Data_JSON.IsValid(Schema)
为假。
我目前拥有的架构文件:
"MN": {
"Type": "string",
"pattern": "[A-Z0-9]{14}",
},
文件失败:
{
"MN": "NO_DATA",
}
要传递的文件(它不必具有确切的模式,只需要不为空即可):
{
"MN": "FS40-SR20D4-2C00W",
}
VB.net代码:
schemaConn = ConfigurationManager.ConnectionStrings("LOCAL_SPLUNK_SCHEMA_PATH")
schema_path = schemaConn.ToString
Schema_String = My.Computer.FileSystem.ReadAllText(schema_path)
extra_str = backup_path
Schema = JsonSchema.Parse(Schema_String)
step_str = "Validate JSON File Data Using Schema"
Data_String = My.Computer.FileSystem.ReadAllText(Splunk_Info.FullName)
Data_JSON = JObject.Parse(Data_String)
Splunk_Status = Data_JSON.IsValid(Schema)
System.Threading.Thread.Sleep(1000)
Console.WriteLine("SPLUNK VALIDATE: " + Splunk_Status.ToString)
If Splunk_Status = True Then
File_Validation = True
Console.WriteLine("File Location = " + Splunk_Info.FullName)
GoTo Jump_ValidateHeader
Else
File_Validation = False
GoTo Jump_ValidateHeader
End If
您可以通过组合 not
和 enum
关键字来禁止某些值:
"not": {
"enum": [ "NO_DATA", "EMPTY", "NULL" ]
}
您可以在此处阅读有关这些关键字的信息:
我有使用模式文件验证 .json 文件的代码。
我正在尝试验证值列表。
但是如果文件有一个“NO_DATA”、“EMPTY”或“NULL”存储为一个值,我想要
Splunk_Status = Data_JSON.IsValid(Schema)
为假。
我目前拥有的架构文件:
"MN": {
"Type": "string",
"pattern": "[A-Z0-9]{14}",
},
文件失败:
{
"MN": "NO_DATA",
}
要传递的文件(它不必具有确切的模式,只需要不为空即可):
{
"MN": "FS40-SR20D4-2C00W",
}
VB.net代码:
schemaConn = ConfigurationManager.ConnectionStrings("LOCAL_SPLUNK_SCHEMA_PATH")
schema_path = schemaConn.ToString
Schema_String = My.Computer.FileSystem.ReadAllText(schema_path)
extra_str = backup_path
Schema = JsonSchema.Parse(Schema_String)
step_str = "Validate JSON File Data Using Schema"
Data_String = My.Computer.FileSystem.ReadAllText(Splunk_Info.FullName)
Data_JSON = JObject.Parse(Data_String)
Splunk_Status = Data_JSON.IsValid(Schema)
System.Threading.Thread.Sleep(1000)
Console.WriteLine("SPLUNK VALIDATE: " + Splunk_Status.ToString)
If Splunk_Status = True Then
File_Validation = True
Console.WriteLine("File Location = " + Splunk_Info.FullName)
GoTo Jump_ValidateHeader
Else
File_Validation = False
GoTo Jump_ValidateHeader
End If
您可以通过组合 not
和 enum
关键字来禁止某些值:
"not": {
"enum": [ "NO_DATA", "EMPTY", "NULL" ]
}
您可以在此处阅读有关这些关键字的信息: