Skip to content

Commit 619b237

Browse files
committed
Server:同步eclipse版至idea版
1 parent 0ae5da9 commit 619b237

File tree

7 files changed

+305
-136
lines changed

7 files changed

+305
-136
lines changed

APIJSON(Server)/APIJSON(Idea)/src/main/java/zuo/biao/apijson/JSONObject.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ public static boolean isWord(String key) {
240240
* @return {@link #setColumn(String)}
241241
*/
242242
public JSONObject setColumn(String... keys) {
243-
return setColumn(StringUtil.getString(keys));
243+
return setColumn(StringUtil.getString(keys, true));
244244
}
245245
/**set keys need to be returned
246246
* @param keys "key0,key1,key2..."
@@ -259,7 +259,7 @@ public String getColumn() {
259259
* @return {@link #setGroup(String)}
260260
*/
261261
public JSONObject setGroup(String... keys) {
262-
return setGroup(StringUtil.getString(keys));
262+
return setGroup(StringUtil.getString(keys, true));
263263
}
264264
/**set keys for group by
265265
* @param keys "key0,key1,key2..."
@@ -278,7 +278,7 @@ public String getGroup() {
278278
* @return {@link #setHaving(String)}
279279
*/
280280
public JSONObject setHaving(String... keys) {
281-
return setHaving(StringUtil.getString(keys));
281+
return setHaving(StringUtil.getString(keys, true));
282282
}
283283
/**set keys for having
284284
* @param keys "key0,key1,key2..."
@@ -297,7 +297,7 @@ public String getHaving() {
297297
* @return {@link #setOrder(String)}
298298
*/
299299
public JSONObject setOrder(String... keys) {
300-
return setOrder(StringUtil.getString(keys));
300+
return setOrder(StringUtil.getString(keys, true));
301301
}
302302
/**set keys for order by
303303
* @param keys "key0,key1+,key2-..."

APIJSON(Server)/APIJSON(Idea)/src/main/java/zuo/biao/apijson/JSONResponse.java

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public JSONResponse(JSONObject object) {
5353
public static final String KEY_ID = "id";
5454
public static final String KEY_STATUS = "status";
5555
public static final String KEY_COUNT = "count";
56+
public static final String KEY_TOTAL = "total";
5657
public static final String KEY_MESSAGE = "message";
5758

5859
/**获取id
@@ -73,6 +74,17 @@ public int getStatus() {
7374
public int getCount() {
7475
return getIntValue(KEY_COUNT);
7576
}
77+
/**获取数量
78+
* @return
79+
*/
80+
public int getTotal() {
81+
try {
82+
return getIntValue(KEY_TOTAL);
83+
} catch (Exception e) {
84+
// TODO: handle exception
85+
}
86+
return 0;
87+
}
7688
/**获取信息
7789
* @return
7890
*/
@@ -285,8 +297,9 @@ public JSONArray toArray(String className) {
285297
return toArray(this, className);
286298
}
287299
/**
300+
* array.set(index, isContainer ? value : value.getJSONObject(className));
288301
* @param arrayObject
289-
* @param className
302+
* @param className className.isEmpty() == false && value.containsKey(className) >> isContainer = true;
290303
* @return
291304
*/
292305
public static JSONArray toArray(JSONObject arrayObject, String className) {
@@ -357,28 +370,32 @@ public static JSONObject format(final JSONObject response) {
357370

358371
Set<String> set = response.keySet();
359372
if (set != null) {
373+
360374
Object value;
361375
String arrayKey;
362376
for (String key : set) {
363377
value = response.get(key);
378+
364379
if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array
365-
transferredObject.put(key, format((JSONArray) value));
380+
transferredObject.put(getSimpleName(key), format((JSONArray) value));
366381
} else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray
367382
if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray
368383
arrayKey = key.substring(0, key.indexOf(KEY_ARRAY));
369-
transferredObject.put(getArrayKey(arrayKey), format(toArray((JSONObject) value, arrayKey)));
384+
transferredObject.put(getArrayKey(getSimpleName(arrayKey))
385+
, format(toArray((JSONObject) value, arrayKey)));//需要将name:alias传至toArray
370386
} else {//常规JSONObject,往下一级提取
371-
transferredObject.put(key, format((JSONObject) value));
387+
transferredObject.put(getSimpleName(key), format((JSONObject) value));
372388
}
373389
} else {//其它Object,直接填充
374-
transferredObject.put(key, value);
390+
transferredObject.put(getSimpleName(key), value);
375391
}
376392
}
377393
}
378394

379395
Log.i(TAG, "format return transferredObject = " + JSON.toJSONString(transferredObject));
380396
return transferredObject;
381397
}
398+
382399
/**
383400
* @param responseArray
384401
* @return
@@ -409,13 +426,13 @@ public static JSONArray format(final JSONArray responseArray) {
409426

410427
/**替换key+KEY_ARRAY为keyList
411428
* @param key
412-
* @return isArrayKey(key) ? getArrayKey(...) : key
429+
* @return getSimpleName(isArrayKey(key) ? getArrayKey(...) : key) {@link #getSimpleName(String)}
413430
*/
414431
public static String replaceArray(String key) {
415432
if (isArrayKey(key)) {
416-
return getArrayKey(key.substring(0, key.indexOf(KEY_ARRAY)));
433+
key = getArrayKey(key.substring(0, key.indexOf(KEY_ARRAY)));
417434
}
418-
return key;
435+
return getSimpleName(key);
419436
}
420437
/**获取列表变量名
421438
* @param key => StringUtil.getNoBlankString(key)
@@ -433,5 +450,19 @@ public static String getArrayKey(String key) {
433450
}
434451
return key + "List";
435452
}
453+
454+
/**获取简单名称
455+
* @param fullName name 或 name:alias
456+
* @return name > name; name:alias > alias
457+
*/
458+
public static String getSimpleName(String fullName) {
459+
//key:alias -> alias; key:alias[] -> alias[]
460+
int index = fullName == null ? -1 : fullName.indexOf(":");
461+
if (index >= 0) {
462+
fullName = fullName.substring(index + 1);
463+
}
464+
return fullName;
465+
}
466+
436467

437468
}

APIJSON(Server)/APIJSON(Idea)/src/main/java/zuo/biao/apijson/StringUtil.java

Lines changed: 76 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
*/
2727
public class StringUtil {
2828
private static final String TAG = "StringUtil";
29-
29+
3030
public StringUtil() {
3131
}
3232

@@ -95,24 +95,48 @@ public static String getString(String s) {
9595
return s == null ? "" : s;
9696
}
9797
/**获取string,为null则返回""
98+
* ignoreEmptyItem = false;
99+
* split = ","
98100
* @param array
99-
* @return
101+
* @return {@link #getString(String[], boolean)}
100102
*/
101103
public static String getString(String[] array) {
102-
return getString(array, null);
104+
return getString(array, false);
105+
}
106+
/**获取string,为null则返回""
107+
* split = ","
108+
* @param array
109+
* @param ignoreEmptyItem
110+
* @return {@link #getString(String[], String, boolean)}
111+
*/
112+
public static String getString(String[] array, boolean ignoreEmptyItem) {
113+
return getString(array, null, ignoreEmptyItem);
103114
}
104115
/**获取string,为null则返回""
116+
* ignoreEmptyItem = false;
105117
* @param array
106118
* @param split
107-
* @return
119+
* @return {@link #getString(String[], String, boolean)}
108120
*/
109121
public static String getString(String[] array, String split) {
122+
return getString(array, split, false);
123+
}
124+
/**获取string,为null则返回""
125+
* @param array
126+
* @param split
127+
* @param ignoreEmptyItem
128+
* @return
129+
*/
130+
public static String getString(String[] array, String split, boolean ignoreEmptyItem) {
110131
String s = "";
111132
if (array != null) {
112133
if (split == null) {
113134
split = ",";
114135
}
115136
for (int i = 0; i < array.length; i++) {
137+
if (ignoreEmptyItem && isEmpty(array[i], true)) {
138+
continue;
139+
}
116140
s += ((i > 0 ? split : "") + array[i]);
117141
}
118142
}
@@ -206,8 +230,50 @@ public static int getLength(String s, boolean trim) {
206230
//获取string的长度>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
207231

208232

209-
//判断字符是否非空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
233+
//判断字符是否为空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
210234

235+
/**判断字符是否为空
236+
* @param object
237+
* @param trim
238+
* @return
239+
*/
240+
public static boolean isEmpty(Object object, boolean trim) {
241+
return isEmpty(getString(object), trim);
242+
}
243+
/**判断字符是否为空
244+
* @param cs
245+
* @param trim
246+
* @return
247+
*/
248+
public static boolean isEmpty(CharSequence cs, boolean trim) {
249+
return isEmpty(getString(cs), trim);
250+
}
251+
/**判断字符是否为空
252+
* @param s
253+
* @param trim
254+
* @return
255+
*/
256+
public static boolean isEmpty(String s, boolean trim) {
257+
// Log.i(TAG, "getTrimedString s = " + s);
258+
if (s == null) {
259+
return true;
260+
}
261+
if (trim) {
262+
s = s.trim();
263+
}
264+
if (s.isEmpty()) {
265+
return true;
266+
}
267+
268+
currentString = s;
269+
270+
return false;
271+
}
272+
273+
//判断字符是否为空 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
274+
275+
//判断字符是否非空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
276+
211277
/**判断字符是否非空
212278
* @param object
213279
* @param trim
@@ -240,12 +306,12 @@ public static boolean isNotEmpty(String s, boolean trim) {
240306
if (s.length() <= 0) {
241307
return false;
242308
}
243-
309+
244310
currentString = s;
245-
311+
246312
return true;
247313
}
248-
314+
249315
//判断字符是否非空 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
250316

251317

@@ -261,7 +327,7 @@ public static boolean isNotEmpty(String s, boolean trim) {
261327
namePattern = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过
262328
smallAlphaPattern = Pattern.compile("[a-z]");
263329
}
264-
330+
265331
//判断手机格式是否正确
266332
public static boolean isPhone(String phone) {
267333
if (isNotEmpty(phone, true) == false) {
@@ -576,7 +642,7 @@ public static String getCorrectEmail(String email) {
576642
public static final int PRICE_FORMAT_PREFIX_WITH_BLANK = 3;
577643
public static final int PRICE_FORMAT_SUFFIX_WITH_BLANK = 4;
578644
public static final String[] PRICE_FORMATS = {
579-
"", "¥", "元", "¥ ", " 元"
645+
"", "¥", "元", "¥ ", " 元"
580646
};
581647

582648
/**获取价格,保留两位小数

APIJSON(Server)/APIJSON(Idea)/src/main/java/zuo/biao/apijson/server/Pair.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -88,44 +88,44 @@ public static String toPairString(Class<?> type, Object value) {
8888
}
8989

9090
/**
91-
* leftIsKey = true;
91+
* isRightValueDefault = false;
9292
* "key":null不应该出现?因为FastJSON内默认不存null
93-
* @param pair left:right
94-
* @param leftIsKey true-左边为key,当pair不包含 : 时默认整个pair为value;false-相反
93+
* @param pair leftKey:rightValue
9594
* @return {@link #parseEntry(String, boolean)}
9695
*/
9796
public static Entry<String, String> parseEntry(String pair) {
98-
return parseEntry(pair, true);
97+
return parseEntry(pair, false);
9998
}
10099
/**
101-
* leftIsKey = true;
100+
* isRightValueDefault = false;
102101
* "key":null不应该出现?因为FastJSON内默认不存null
103-
* @param pair left:right
104-
* @param leftIsKey true-左边为key,当pair不包含 : 时默认整个pair为value;false-相反
102+
* @param pair leftKey:rightValue
103+
* @param isRightValueDefault 右边值缺省,当pair不包含 : 时默认整个pair为leftKey;false-相反
105104
* @return {@link #parseEntry(String, boolean, String)}
106105
*/
107-
public static Entry<String, String> parseEntry(String pair, boolean isLeftDefault) {
108-
return parseEntry(pair, isLeftDefault, null);
106+
public static Entry<String, String> parseEntry(String pair, boolean isRightValueDefault) {
107+
return parseEntry(pair, isRightValueDefault, null);
109108
}
110109
/**
111110
* "key":null不应该出现?因为FastJSON内默认不存null
112-
* @param pair left:right
113-
* @param leftIsKey true-左边为key,当pair不包含 : 时默认整个pair为value;false-相反
114-
* @param defaultKey key默认值
111+
* @param pair leftKey:rightValue
112+
* @param isRightValueDefault 右边值缺省,当pair不包含 : 时默认整个pair为leftKey;false-相反
113+
* @param defaultKey 缺省值
115114
* @return @NonNull
116115
*/
117-
public static Entry<String, String> parseEntry(String pair, boolean leftIsKey, String defaultKey) {
116+
public static Entry<String, String> parseEntry(String pair, boolean isRightValueDefault, String defaultValue) {
118117
pair = StringUtil.getString(pair);//让客户端去掉所有空格 getNoBlankString(pair);
119118
Entry<String, String> entry = new Entry<String, String>();
120119
if (pair.isEmpty() == false) {
121120
int index = pair.indexOf(":");
122-
if (leftIsKey) {
123-
entry.setKey(index < 0 ? defaultKey : pair.substring(0, index));
124-
entry.setValue(pair.substring(index + 1, pair.length()));
121+
if (index < 0) {
122+
entry.setKey(isRightValueDefault ? pair : defaultValue);
123+
entry.setValue(isRightValueDefault ? defaultValue : pair);
125124
} else {
126-
entry.setValue(index < 0 ? defaultKey : pair.substring(0, index));
127-
entry.setKey(pair.substring(index + 1, pair.length()));
125+
entry.setKey(pair.substring(0, index));
126+
entry.setValue(pair.substring(index + 1, pair.length()));
128127
}
128+
129129
}
130130
return entry;
131131
}
@@ -134,7 +134,7 @@ public static Entry<String, String> parseEntry(String pair, boolean leftIsKey, S
134134
* @return
135135
*/
136136
public static Entry<String, String> parseVariableEntry(String pair) {
137-
return parseEntry(pair, true, Object.class.getSimpleName());
137+
return parseEntry(pair, false, Object.class.getSimpleName());
138138
}
139139
/**
140140
* @param pair

0 commit comments

Comments
 (0)