If parsed string is null, jump to next parse, else use first

I have 2 parsed variable strings, how I can set that if var1 is empty, parse & use var2, else use var1 ?
I did try code from How to prevent site that take my ip instead if there no ip captured from parse?

but doesn’t work.

I also did try to add the values to a list and then use list[0] but for some reason, even if var1 was empty, it was added to the list as empty which caused issues.

BLOCK:Parse
LABEL:ParseSTRINGIDD
input = @data.SOURCE
urlEncodeOutput = True
leftDelim = “[{"__type":”
rightDelim = “",”
MODE:LR
=> VAR @STRINGIDD
ENDBLOCK

if ( STRINGIDD == null ) {

BLOCK:Parse
LABEL:ParseSTRINGIDD1
input = @data.SOURCE
urlEncodeOutput = True
leftDelim = “[{"__type":something”
rightDelim = “something,”
MODE:LR
=> VAR @STRINGIDD
ENDBLOCK
}

No error but I still get empty data if first parse is null but second have, any idea why ?

BLOCK:Parse
LABEL:ParseSTRINGIDD
input = @data.SOURCE
urlEncodeOutput = True
leftDelim = "[{\"__type\":"
rightDelim = "\","
MODE:LR
=> VAR @STRINGIDD
ENDBLOCK

if (@STRINGIDD == "" || @STRINGIDD == null) {

  BLOCK:Parse
  LABEL:ParseSTRINGIDD1
  input = @data.SOURCE
  urlEncodeOutput = True
  leftDelim = "[{\"__type\":something"
  rightDelim = "something,"
  MODE:LR
  => VAR @STRINGIDD
  ENDBLOCK

}

thanks m8 ! :heart::heart::heart::heart::heart::heart::heart::heart::heart: