Вот же:
for(var key in data){
if ( typeof data[key] === 'object') {
path += key + "->";
parseObj(data[key]);
}else{
path += key;
prop.push( { path: path, value: data[key] } );
}
path = "";
}
В конце каждой иттерации path обнуляется.
Или я не понял вопроса?