--- parser3/src/classes/json.C 2015/10/08 22:49:36 1.39 +++ parser3/src/classes/json.C 2016/07/20 13:57:04 1.43 @@ -1,7 +1,7 @@ /** @file Parser: @b json parser class. - Copyright (c) 2000-2012 Art. Lebedev Studio (http://www.artlebedev.com) + Copyright (c) 2000-2015 Art. Lebedev Studio (http://www.artlebedev.com) */ #include "classes.h" @@ -18,7 +18,7 @@ #include "pa_vxdoc.h" #endif -volatile const char * IDENT_JSON_C="$Id: json.C,v 1.39 2015/10/08 22:49:36 moko Exp $"; +volatile const char * IDENT_JSON_C="$Id: json.C,v 1.43 2016/07/20 13:57:04 moko Exp $"; // class @@ -29,7 +29,7 @@ public: // global variable -DECLARE_CLASS_VAR(json, new MJson, 0); +DECLARE_CLASS_VAR(json, new MJson); // methods struct Json { @@ -518,12 +518,12 @@ static void _string(Request& r, MethodPa throw Exception(PARSER_RUNTIME, 0, CALLED_WITH_INVALID_OPTION); // special handling for $._default - if(VHash* vhash=static_cast(params[1].as(VHASH_TYPE))) + if(VHashBase* vhash=static_cast(params[1].as(VHASH_TYPE))) if(Value* value=vhash->get_default()) { if(!value->is_string()){ - Junction* junction=value->get_junction(); - if(!junction || !junction->method || !junction->method->params_names || junction->method->params_names->count() != 3) - throw Exception(PARSER_RUNTIME, 0, "$.%s must be string or parser method with 3 parameters", HASH_DEFAULT_ELEMENT_NAME); + Junction* junction=value->get_junction(); + if(!junction || !junction->method || !junction->method->params_names || junction->method->params_names->count() != 3) + throw Exception(PARSER_RUNTIME, 0, "$._default must be string or parser method with 3 parameters"); } json.default_method=value; }