support encoding and decoding between obj, dict and json string