try using either of following in loop
Set Variable [$$CurField; Get ( LayoutTableName ) & "::" & GetValue ( $$FieldList; $$LoopNum)]
Set Field By name [$$CurField;"0"]
Set Field By Name [Get ( LayoutTableName ) & "::" & GetValue ( $$FieldList; $$LoopNum);"0"]
I don't get this script step:
If [ Evaluate ( $$CurField ) = "?" ]
I don't see what that accomplishes for you.
"?" Is what the JSON parsing puts in the field when the Insert Into URL didn't return a value.
I'll try the suggested fixes. Can someone explain the reason what I did was wrong so I can learn from it?
We can't see the complete script step to tell you exactly what is wrong, but note that what MetaSys has suggested is much simpler.