First off, my guess is you don't really have JSON, just an object. But it doesn't really matter either way.
A JavaScript object (and an object described in JSON notation) can have only one property with a given name. If you have what you describe in JavaScript source code:
var data = {"type": "Item", "type": "Item2", "name": "Item Name", "name": "Item Name2"};
...in loose mode you end up with an object with only two properties: type and name, with the values "Item2" and "Item Name2" respectively (the properties are assigned in source code order, so the last ones win). In strict mode, you get a syntax error. (This is one of the handy things about strict mode.)
If you have JSON text describing an object, and that JSON text duplicates property names ("keys"):
var json = '{"type": "Item", "type": "Item2", "name": "Item Name", "name": "Item Name2"}';
var data = JSON.parse(json);
...the JSON standard is silent on what should happen, but Quentin found that the RFC says the results of having non-unique property names are "unpredictable." In practice, in JavaScript, you'll only get two properties when you parse it (assuming it parses), it just depends on the deserializer/parser what values they'll have or whether the parser throws an error.
Either way, the question is moot: By the time you have an object, you have only one value for each property, which is the end result you said you want. But again, note that if you're parsing JSON, I don't think you're guaranteed which value you'll get, and so different parsers (e.g., in different browsers) may give you different results. My gut is that they'll do what JavaScript does in loose mode, but...
Fundamentally, if this is coming to you as JSON, it needs to be fixed at the end producing it. If it's source code, you just need to rename the properties or delete the ones you don't want.
'{"foo":"bar"}'or the equivalent (without outer quotes) in a file or as an XHR response body. If you don't have text, it's not JSON anymore, it's just a JavaScript object.$.each({"type": "Item", "type": "Item2", "name": "Item Name", "name": "Item Name2"}, function(key, value) {console.log(key);});: "type", "name".