Add JsonCodec and support options for save/update/insert