Is the syntax correct for the json though?
Yes.
Can you access fields in this fashion after parsing to json (if in this case payload were the actual target)?
Yes.
For instance, in his example, if "order_id" were a dynamic name, but always at the same place, how could you access this field?
What does "at the same place" mean? Fields aren't positional so there's no way of saying "grab the value from the second field". If the name is dynamic, how would you know which field you're looking for?