/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.*/ /**parser for response * @author Lemon * @see #getObject * @see #getList * @use JSONResponse response = new JSONResponse(json); *
User user = response.getObject(User.class);//not a must *
List commentList = response.getList("Comment[]", Comment.class);//not a must */ //状态信息,非GET请求获得的信息 0; } //状态信息,非GET请求获得的信息>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /**格式化key名称 * @param object * @return */ function formatObject(object) { //太长查看不方便,不如debug log(TAG, "format object = \n" + JSON.toJSONString(object)); if (object == null || object == '') { log(TAG, "format object == null || object == '' >> return object;"); return object; } let formattedObject = {}; let value; for (let key in object) { value = object[key]; if (value instanceof Array) { // JSONArray,遍历来format内部项 formattedObject[replaceArray(key)] = formatArray(value); } else if (value instanceof Object) { // JSONObject,往下一级提取 formattedObject[getSimpleName(key)] = formatObject(value); } else { // 其它Object,直接填充 formattedObject[getSimpleName(key)] = value; } } //太长查看不方便,不如debug log(TAG, "format return formattedObject = " + JSON.toJSONString(formattedObject)); return formattedObject; } /**格式化key名称 * @param array * @return */ function formatArray(array) { //太长查看不方便,不如debug log(TAG, "format array = \n" + JSON.toJSONString(array)); if (array == null || array == '') { log(TAG, "format array == null || array == '' >> return array;"); return array; } let formattedArray = []; let value; for (let i = 0; i getNoBlankString(key) * @return empty ? "list" : key + "List" 且首字母小写 */ function getArrayKey(key) { return addSuffix(key, "list"); } /**获取简单名称 * @param fullName name 或 name:alias * @return name => name; name:alias => alias */ function getSimpleName(fullName) { //key:alias -> alias; key:alias[] -> alias[] let index = fullName == null ? -1 : fullName.indexOf(":"); if (index >= 0) { fullName = fullName.substring(index + 1); } return fullName; }