Awesome, thanks.

-Greg
Clipboard



On Sep 19, 2011, at 12:53 PM, Jon Meredith wrote:

> I had a quick play with this. Mochijson2:encode returns an erlang I/O list.  
> You can convert back to a proper binary with iolist_to_binary().  
> 
> precommit_json_identity(Obj) ->
>     Values = riak_object:get_values(Obj),
>     {struct, TermList} = mochijson2:decode(hd(Values)),
>     riak_object:apply_updates(
>       riak_object:update_value(Obj, 
>                                iolist_to_binary(mochijson2:encode({struct, 
> TermList})))).
> 
> Cheers, Jon
> 
> On Mon, Sep 19, 2011 at 1:50 PM, David Smith <diz...@basho.com> wrote:
> On Sat, Sep 17, 2011 at 5:11 PM, Greg Pascale <g...@clipboard.com> wrote:
> > Hi,
> > I'm trying to write a simple precommit hook to modify a JSON object by
> > removing certain fields. The simplest way to do this, I figure, is to decode
> > the object's value with mochijson2, remove the fields I don't want,
> > re-encode it, and update the value.
> > What happens, though, is my object ends up somehow mangled. When I inspect
> > it via curl, it sort of looks like JSON, but characters like "{" and ":"
> > seem to be replaced with garbage.
> > For example, what should read "hostname":"www.google.com" looks
> > like hostnamea"ja:la"mwww.google.coma"j
> 
> If I had to guess, I would say that you are seeing some sort of weird
> unicode encoding of the double-quote character; maybe the data stored
> was UTF-16 encoded? I.e. is there some unicode character that would
> display a " but actually be stored as [a, "]?
> 
> D.
> 
> --
> Dave Smith
> Director, Engineering
> Basho Technologies, Inc.
> diz...@basho.com
> 
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to