--- parser3/src/classes/json.C 2014/05/04 01:38:01 1.30 +++ parser3/src/classes/json.C 2014/06/29 05:55:35 1.32 @@ -18,7 +18,7 @@ #include "pa_vxdoc.h" #endif -volatile const char * IDENT_JSON_C="$Id: json.C,v 1.30 2014/05/04 01:38:01 misha Exp $"; +volatile const char * IDENT_JSON_C="$Id: json.C,v 1.32 2014/06/29 05:55:35 misha Exp $"; // class @@ -369,7 +369,7 @@ const String& value_json_string(String:: Value* method=options.methods->get(v.type()); if(!method){ method=options.methods->first_that(based_on, &v); - options.methods->put(key, method ? method : VVoid::get()); + options.methods->put(v.type(), method ? method : VVoid::get()); } if(method && !method->is_void()) { Junction* junction=method->get_junction(); @@ -427,6 +427,11 @@ static void _string(Request& r, MethodPa if(!json.set_file_format(svalue)) throw Exception(PARSER_RUNTIME, &svalue, "must be 'base64', 'text' or 'stat'"); valid_options++; + } else if(key == "void" && value->is_string()){ + const String& svalue=value->as_string(); + if(!json.set_void_format(svalue)) + throw Exception(PARSER_RUNTIME, &svalue, "must be 'string' or 'null'"); + valid_options++; #ifdef XML } else if(key == "xdoc" && (vvalue = value->get_hash())){ json.xdoc_options=new XDocOutputOptions();