Я новичок в слюнях, поэтому некоторая помощь будет принята с благодарностью. У меня есть два файла JSON, к которым я должен применить некоторые правила. Я преобразовал json в класс java и вставил классы в движок правил.
Я должен написать правило, которое проверяет, равен ли массив, который присутствует в обоих файлах json, или нет. InputFile и OutputFile - это класс для двух json соответственно.
Предположим, что массив в первом json содержит [6,4,8], а массив во втором json также содержит [6,4,8], тогда правило, которое я написал для проверки, равны ли оба массива, равно
rule "EqualArray"
when
$arrInInput : InputFile($inputArr : inputArray)
$arrInOutput : OutputFile($outputArr : outputArray == $inputArr)
then
System.out.println($inputArr+" and "+$outputArr+" Rule passed");
end
Выходной код
6 and 6 Rule passed
4 and 4 Rule passed
8 and 8 Rule passed
Правило, которое я написал для проверки того, что оба массива не равны, равно
rule "Not EqualArray"
when
$arrInInput : InputFile($inputArr : inputArray)
$arrInOutput : OutputFile($outputArr : outputArray != $inputArr)
then
System.out.println($inputArr+" and "+$outputArr+" Rule failed");
end
Вывод этого правила
6 and 4 Rule failed
6 and 8 Rule failed
4 and 6 Rule failed
4 and 8 Rule failed
8 and 6 Rule failed
8 and 4 Rule failed
Поскольку оба массива равны, я не хочу, чтобы правило "Not EqualArray" запускалось.
Я хочу написать правила, чтобы я мог проверять значения массива по индексу. Например, если индекс 1, индекс 2 и индекс 3 обоих массивов совпадают, массив равен, а если значение обоих массивов не совпадает для определенного индекса, то правило «Не равно массив» сработает. У меня также нет контроля над размером массива. JSON может иметь любое количество значений в массиве.