Search code examples
javajsonparsingkeyunique

Do JSON keys need to be unique?


The following question is related to a question that I had asked earlier: Help parsing simple JSON (using JSON for JAVA ME)

Do JSON keys need to be unique? For example, I was having trouble parsing the following XML (with JSON ME):

{
  "name" : "JACK",
  "name" : "JILL",
  "name" : "JOHN",
  "name" : "JENNY",
  "name" : "JAMES",
  "name" : "JIM"
}

And, apparently, its because the keys must be unique. I'm just wondering if thats true in all cases or not. For example, if I were using something other than JSON ME, would I be able to parse all of these names?

Thanks.


Solution

  • There is no "error" if you use more than one key with the same name, but in JSON, the last key with the same name is the one that is going to be used.

    In your case, the key "name" would be better to contain an array as it's value, instead of having a number of keys "name". It doesn't make much sense the same object or "thing" to have two names, or two of the same properties that are in conflict.

    E.g.:

    {
      "name" : [ "JOHN", "JACK", "...", ... ]
    }