CIP-0020 choice of format/structure - suggestion

I have a suggestion for a modification to the current proposed structure of the 674 message.

{ 
  "674":
          { "Invoice-No": "1234567890",
            "Customer-No": "555-1234",
            "Comments": ["P.S.: i will shop again at your store :-)"
                                , "Shopping experience was excellent"]
         }
}

In my opinion, storing key/value pairs inside a string, inside an array, inside a JSON metadata structure is not a smart approach. JSON is already a key value data format. Storing key/value data in this way will introduce the need to have to implement a custom parser, whilst preserving a JSON structure gives easy access to these values directly.

Metadata is expected to be provided as JSON. It is even stored in a column called json in the tx_metadata table in the db-sync database .

Existing tools/wallets already display 721 data in a structured way, by iterating over the key/value pairs,and showing them as labels and values respectively.

The current 674 proposal will introduce the need to handle 674 metadata in a different, inconsistent way.

I also believe that the “msg” key is redundant and offers no extra benefit. The 674 key is already enough to identify the metadata type.

The 674 content structure will be determined by the creator of the transaction/tool and will therefore not follow any particular common standard. Having reserved keys such as “version” etc could be left entirely at the discretion of the transaction creator.

I therefore do not see the added value of having a reserved top-level for keys such as msg, ver, etc…