instead of keys with the address, why not just a list of the objects?
like, instead of
{
  "127.0.0.1:28000": { whatever },
  "87.58.245.134:28000": { stuff }
}
just this
{
  "servers": [
    { whatever },
    { stuff }
  ]
}
you already have the IP and port in the objects, so nothing is missing
I can't think of any benefit to having the keys set to the address, while on the other hand, having a list of servers on the servers key is both logical and more convenient for iteration, and opens up the possibility of having other top-level keys for, I dunno, whatever might be desired