Przeglądaj źródła

JSON输出排序和UTF8字符串方法抽取

詹子聪 5 lat temu
rodzic
commit
6167143198

+ 4 - 0
src/main/java/com/miekir/shibei/bean/WeatherBean.java

@@ -1,5 +1,6 @@
 package com.miekir.shibei.bean;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import com.alibaba.fastjson.annotation.JSONType;
 
 /**
@@ -8,9 +9,12 @@ import com.alibaba.fastjson.annotation.JSONType;
  * @author Miekir
  * @date 2020/8/14 20:44
  * Description: 天气实体
+ * JSON按顺序输出有三种方法(alphabetic=false似乎不起作用)
  */
+//@JSONType(alphabetic=false)
 @JSONType(orders={"code","msg","temperatureRange","temperatureNow","wind","air","desc"})
 public class WeatherBean {
+    //@JSONField(ordinal = 1, name = "code")
     public int code = -1;
     public String msg;
     public String temperatureRange;

+ 2 - 10
src/main/java/com/miekir/shibei/controller/api/GoodsController.java

@@ -5,6 +5,7 @@ import com.miekir.shibei.bean.*;
 import com.miekir.shibei.repository.GoodsRepository;
 import com.miekir.shibei.repository.UserRepository;
 import com.miekir.shibei.tool.RequestTool;
+import com.miekir.shibei.tool.StringTool;
 import com.miekir.shibei.tool.TextUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.PageRequest;
@@ -144,16 +145,7 @@ public class GoodsController {
     @RequestMapping(value = "/api/getGoodsListByKeyword", method = RequestMethod.GET, produces = "application/json; charset=utf-8")
     @ResponseBody
     public String getGoodsListByKeyword(String keywords, int pageNum, int pageSize) {
-        String keywordsUtf8 = null;
-        if (!TextUtils.isEmpty(keywords)) {
-            try {
-                keywordsUtf8 = new String(keywords.getBytes("ISO8859-1"), "UTF-8");
-            } catch (UnsupportedEncodingException e) {
-                keywordsUtf8 = keywords;
-                e.printStackTrace();
-            }
-        }
-
+        String keywordsUtf8 = StringTool.getUtf8String(keywords);
 
         ResponseResult<List<GoodsBean>> responseResult = new ResponseResult<List<GoodsBean>>();
         responseResult.setMessage("获取失败");

+ 2 - 13
src/main/java/com/miekir/shibei/controller/api/JsonController.java

@@ -6,10 +6,7 @@ import com.alibaba.fastjson.serializer.SerializeConfig;
 import com.miekir.shibei.bean.*;
 import com.miekir.shibei.repository.JsonRepository;
 import com.miekir.shibei.repository.UserRepository;
-import com.miekir.shibei.tool.DateTool;
-import com.miekir.shibei.tool.RequestTool;
-import com.miekir.shibei.tool.TextUtils;
-import com.miekir.shibei.tool.WebTool;
+import com.miekir.shibei.tool.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
@@ -42,15 +39,7 @@ public class JsonController {
     public String getWeather(String token, String city) {
         WeatherBean weatherBean = new WeatherBean();
         // get过来的参数,会乱码
-        String cityUtf8 = null;
-        if (!TextUtils.isEmpty(city)) {
-            try {
-                cityUtf8 = new String(city.getBytes("ISO8859-1"), "UTF-8");
-            } catch (UnsupportedEncodingException e) {
-                cityUtf8 = city;
-                e.printStackTrace();
-            }
-        }
+        String cityUtf8 = StringTool.getUtf8String(city);
 
         // 根据token查找用户
         /*User dbUserBean;

+ 19 - 0
src/main/java/com/miekir/shibei/tool/StringTool.java

@@ -0,0 +1,19 @@
+package com.miekir.shibei.tool;
+
+import java.io.UnsupportedEncodingException;
+
+public class StringTool {
+    private StringTool() {}
+    public static String getUtf8String(String str8859_1) {
+        String strUtf8 = null;
+        if (!TextUtils.isEmpty(str8859_1)) {
+            try {
+                strUtf8 = new String(str8859_1.getBytes("ISO8859-1"), "UTF-8");
+            } catch (UnsupportedEncodingException e) {
+                strUtf8 = str8859_1;
+                e.printStackTrace();
+            }
+        }
+        return strUtf8;
+    }
+}