У меня есть оператор if, который успешно перебирает данные json, но по какой-то причине мой оператор if всегда читается как true, если это не так.Результатом этого является то, что остальная часть моего оператора if не выполнена, поэтому данные, которые мне нужны для перехода в другие поля, повторно вставляются в то же поле, а не переходят к следующему.
Вот мой код.
Set Variable [ $dataCount; Value:ValueCount ( JSONListKeys ( $json ; "data" ) ) ]
Set Variable [ $i; Value:0 ]
#needs if statement to revert changes if existing
Go to Layout [ “grievances” (grievances) ]
New Record/Request
Set Field [ grievances::_IDgrievance; JSONGetElement ( $json ; "id" ) ]
Set Field [ grievances::grievanceTimestampSubmitted; JSONGetElement ( $json ; "timestamp" ) ]
Loop
#match institution
Set Error Capture [ On ]
If [ (JSONGetElement ( $json ; GetAsNumber ( "data[" & $i & "].field") ) = GetField ( jsonFieldIDs::institution )) ]
Set Field [ grievances::institution; JSONGetElement ( $json ; "data[" & $i & "].value" ) ]
#match delegate
Else If [ (JSONGetElement ( $json ; GetAsNumber ( "data[" & $i & "].field" )) = GetAsNumber (jsonFieldIDs::delegates)) = 1 ]
Set Field [ grievances::delegate; JSONGetElement ( $json ; "data[" & $i & "].value" ) ]
#match grievancedateorignated
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::dateGrievanceOriginated ]
Set Field [ grievances::dateGrievanceOriginated; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match grievanceStep
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::grievanceStep ]
Set Field [ grievances::grievanceStep; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match relatedgrievanceID
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::grievanceSubmissionID ]
Set Field [ grievances::relatedGrievance; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesName
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::employeesName ]
Set Field [ grievances::rawEmployeeName; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesPhoneNumber
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::employeePhone ]
Set Field [ grievances::rawEmployeePhoneNumber; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesAddress
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::employeesAddress ]
Set Field [ grievances::rawEmployeeAddress; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesEmail
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::email ]
Set Field [ grievances::employeesEmail; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesJobTitle
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::delegates ]
Set Field [ grievances::employeesJobTitle; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesShift
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::shift ]
Set Field [ grievances::employeesShift; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesSeniorityDate
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::seniorityDate ]
Set Field [ grievances::employeesSeniorityDate; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match Employee Department
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::department ]
Set Field [ grievances::employeesDepartment; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match EmployeesSignature
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::employeeSignature ]
Set Field [ grievances::employeesSignature; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match nature of grievance
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::natureOfGrievance ]
Set Field [ grievances::grievanceNature; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match violation of Article
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::violationOfArticle ]
Set Field [ grievances::grievanceArticle; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match grievanceSection
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::section ]
Set Field [ grievances::grievanceSection; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match grievance Statement of Case
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::statementOfCase ]
Set Field [ grievances::grievanceCaseStatement; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match grievance Adjustment Requested
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::adjustmentRequested ]
Set Field [ grievances::grievanceAdjustmentRequested; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
#match Union Rep or Delegate Signature
Else If [ JSONGetElement ( $json ; "data[" & $i & "].field" ) = jsonFieldIDs::unionDelegateUnionRepSignature ]
Set Field [ grievances::grievanceUnionRepSignature; JSONGetElement ( $json ; "data[" & $i & "]value" ) ]
End If
Set Variable [ $i; Value:$i + 1 ]
Exit Loop If [ $i ≥ $dataCount ]
End Loop
Commit Records/Requests [ No dialog ]
Go to Layout [ original layout ]
Сценарий работает, но почему мой оператор if читает как true?
ОБНОВЛЕНИЕ
Я прикрепил JSON
{
"id": "383694318",
"timestamp": "2018",
"user_agent": "Mozilla/5.0",
"remote_addr": "",
"payment_status": "",
"form": "",
"latitude": "",
"longitude": "",
"data": [
{
"field": "59492998",
"value": "institution name"
},
{
"field": "61085927",
"value": "delegate name"
},
{
"field": "59493162",
"value": "Jan 02, 2016"
},
{
"field": "60868658",
"value": "1"
},
{
"field": "59493345",
"value": "first = jane\nmiddle = a\nlast = doe"
},
{
"field": "59493496",
"value": "555-555-5555"
},
{
"field": "59493502",
"value": "email@address.com"
},
{
"field": "59493355",
"value": "CNA"
},
{
"field": "59493364",
"value": "1st Shift"
},
{
"field": "59493381",
"value": "Dec xx, 19xx"
},
{
"field": "59493506",
"value": "https://s3.amazonaws.com/files.formstack.com/uploads/.png"
},
{
"field": "59493533",
"value": "wrongful termination"
},
{
"field": "59493536",
"value": "33-1"
},
{
"field": "59493577",
"value": "XIII"
},
{
"field": "59493589",
"value": "Wrongful Termination "
},
{
"field": "59493591",
"value": "make whole"
},
{
"field": "59493713",
"value": "https://s3.amazonaws.com/files.formstack.com/uploads/.png"
}
],
"pretty_field_id": "59493345"
}