From: Mark Slee Date: Mon, 8 Oct 2007 22:31:03 +0000 (+0000) Subject: Use json encoding logic for and args in Thrift PHP/REST X-Git-Tag: 0.2.0~1178 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=6c848a02df5cf8276f25091e96582ac16a4358fb;p=common%2Fthrift.git Use json encoding logic for and args in Thrift PHP/REST Reviewed By: hzhao Test Plan: Data store API interface git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665294 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/compiler/cpp/src/generate/t_php_generator.cc b/compiler/cpp/src/generate/t_php_generator.cc index 70dbb517..21d3253e 100644 --- a/compiler/cpp/src/generate/t_php_generator.cc +++ b/compiler/cpp/src/generate/t_php_generator.cc @@ -912,15 +912,12 @@ void t_php_generator::generate_service_rest(t_service* tservice) { ((t_base_type*)atype)->is_string_list()) { f_service_ << indent() << "$" << (*a_iter)->get_name() << " = explode(',', $" << (*a_iter)->get_name() << ");" << endl; - } else if (atype->is_map()) { + } else if (atype->is_map() || atype->is_list()) { f_service_ << indent() << "$" << (*a_iter)->get_name() << " = json_decode($" << (*a_iter)->get_name() << ", true);" << endl; - } else if (atype->is_list()) { - f_service_ << - indent() << "$" << (*a_iter)->get_name() << " = explode(',', $" << (*a_iter)->get_name() << ");" << endl; } else if (atype->is_set()) { f_service_ << - indent() << "$" << (*a_iter)->get_name() << " = array_fill_keys(explode(',', $" << (*a_iter)->get_name() << "), 1);" << endl; + indent() << "$" << (*a_iter)->get_name() << " = array_fill_keys(json_decode($" << (*a_iter)->get_name() << ", true), 1);" << endl; } } f_service_ <<