About the smart value of automation

I created the following attributes for the asset object type.
・Approver_Customer
・Approver_Role
・Approver_Head
I implemented the following script, but when only Approver_Customer is NULL, a JSON error occurs in the second-to-last conditional statement where a comma is supposed to be inserted. Do you know the cause of this issue?"

//script
{
“update”: {
“customfield_10398”: [
{
“set”: [
{{#if (not(lookupObjects.Approver_Customer.Customer.empty))}}
{{#lookupObjects.Approver_Customer.Customer.flatten}}
{“id”: “{{accountId}}”}{{^last}},{{/}}
{{/lookupObjects.Approver_Customer.Customer.flatten}}
{{/}}

      {{#if (and(not(lookupObjects.Approver_Customer.Customer.empty), not(lookupObjects.Approver_Role.Approval_Customer.Customer.empty)))}}
        ,
      {{/}}

      {{#lookupObjects.Approver_Role.Approval_Customer.Customer.flatten}}
          {"id": "{{accountId}}"}{{^last}},{{/}}
        {{/lookupObjects.Approver_Role.Approval_Customer.Customer.flatten}}
    
      {{#if (and(
        or(
          not(lookupObjects.Approver_Role.Approver_Customer.Customer.empty),
          and(not(lookupObjects.Approver_Customer.Customer.empty), lookupObjects.Approver_Role.Approver_Customer.Customer.empty)
        ),
        not(lookupObjects.Approver_Head.Department Head.Customer.empty)
      ))}}
        ,
      {{/}}

      {{#if (not(lookupObjects.Approver_Head.Department Head.Customer.empty))}}
        {{#lookupObjects.Approver_Head.Department Head.Customer.flatten}}
          {"id": "{{accountId}}"}{{^last}},{{/}}
        {{/lookupObjects.Approver_Head.Department Head.Customer.flatten}}
      {{/}}
    ]
  }
]

}
}