Adds json serialization

@petebrowne