Attributes are the first decision a converter has to make
XML has two ways to attach a value to an element - as an attribute or as a child element - and JSON has only one. So `<user id="42"><name>Ada</name></user>` presents an immediate problem: `id` and `name` are structurally different in XML but must both become object members in JSON.
The common resolution is to prefix attribute names, usually with `@`, giving `{"user":{"@id":"42","name":"Ada"}}`. This is lossless and lets a converter reconstruct the original XML, at the cost of keys that are awkward to work with in code. The alternative is to merge attributes in as ordinary members, which reads much better but loses the distinction and can collide when an attribute and a child element share a name.
Which you want depends on whether you need to convert back. For one-way consumption, merged attributes are more pleasant. For a round trip, prefixing is necessary.