Search code examples
jsonamazon-web-servicesamazon-dynamodbaws-sdk-js

Unmarshall DynamoDB JSON


Given some DynamoDB JSON via a DynamoDB NewImage stream event, how do I unmarshall it to regular JSON?

{"updated_at":{"N":"146548182"},"uuid":{"S":"foo"},"status":{"S":"new"}}

Normally I would use AWS.DynamoDB.DocumentClient, however I can't seem to find a generic Marshall/Unmarshall function.

Sidenote: Do I lose anything unmarshalling DynamoDB JSON to JSON and back again?


Solution

  • You can use the AWS.DynamoDB.Converter.unmarshall function. Calling the following will return { updated_at: 146548182, uuid: 'foo', status: 'new' }:

    AWS.DynamoDB.Converter.unmarshall({
        "updated_at":{"N":"146548182"},
        "uuid":{"S":"foo"},
        "status":{"S":"new"}
    })
    

    Everything that can be modeled in DynamoDB's marshalled JSON format can be safely translated to and from JS objects.