title: What JavaScript object to object mapping libraries exist?
body: <p>I'm currently working on a big JavaScript project and I'm struggling with mapping incomming JSON data (from the backend) to my own JavaScript objects.</p>
  
  <p>I am using the Knockout JavaScript MVVM framework and although it includes a <a href="http://knockoutjs.com/documentation/plugins-mapping.html" rel="noreferrer">mapping plugin</a>, it does not allow me to actually remap properties. I want to achieve this because the incomming JSON data is too fine grained, and I would like to 'flatten' my JS objects. An example follows.</p>
  
  <p>Incomming data.</p>
  
  <pre><code>Object : {
      Description: {
          Id : 1,
          Title : 'ProductX'
      },
      Price : {
          Last : 12,
          Currency : 3
      }
  }
  </code></pre>
  
  <p>And I would like to remap/flatten this to:</p>
  
  <pre><code>var mappedObject = {
      id : 1,
      title: 'ProductX',
      price : 12,
      currency : 3
  }
  </code></pre>
  
  <p>Hence <strong>I would like to provide a mapping configuration, detailing what incomming properties should be mapped to what outgoing ones</strong>. Much like <a href="http://dozer.sourceforge.net/" rel="noreferrer">Dozer</a> is being configured.</p>
  
  <p>My question is: <strong>are there any libraries out there capable of what I'd like to achieve</strong>, or will this require me to build my own library?</p>