anchor.diff:  %% @end
   add_field_internal(Json, Field, Value) ->
       Attrs = parse_attr(Field),
  -    NewJson = erlson:store(Attrs, Value, Json),
  -    to_string(erlson:to_json(NewJson)).
  +    
  +    try erlson:store(Attrs, Value, Json) of
  +	NewJson ->
  +	    to_string(erlson:to_json(NewJson))
  +    catch
  +	_:_ ->
  +	    to_string(erlson:to_json(Json))
  +    end.
   
   %% @doc
   %% @hidden
  
positive.code: %% API functions - Exports
  %% ====================================================================
  -export([add_field/3,
  	 add_field2/3,
  	 add_value_in_list/2,
  	 decode/1, 
  	 encode/1, 
  
negative.code: %% @end
  replace_field_internal(Json, Query, Value) ->
      Attrs = parse_attr(Query),
      %% Check if the value exist, if it doesn't exist it shouldn't be replaced
      case erlson:get_value(Attrs, Json) of
  	undefined ->
  	    to_string(erlson:to_json(Json));
  	_ ->	   
  	    try erlson:store(Attrs, Value, Json) of
  		NewJson ->
  		    to_string(erlson:to_json(NewJson))
  	    catch
  		_:_ ->
  		    to_string(erlson:to_json(Json))
  	    end
      end.
  
  %% @doc
  %% @hidden
  %% Function: rm_field_internal/2
  %% @end
  rm_field_internal(Json, Query) ->
      Attrs = parse_attr(Query),
      try erlson:remove(Attrs, Json) of
  	NewJson ->
  	    to_string(erlson:to_json(NewJson))
      catch
  	_:_ ->
  	    to_string(erlson:to_json(Json))
      end.
  