判斷乙個字串是否是合法的JSON字串

2021-09-11 07:43:43 字數 1713 閱讀 2422

pom.xml

com.alibaba

fastjson

1.2.31

com.fasterxml.jackson.core

jackson-databind

2.7.0

com.google.code.gson

gson

2.5

/**

* 暴力解析:alibaba fastjson

* @param test

* @return

*/public final static boolean isjsonvalid(string test) catch (jsonexception ex) catch (jsonexception ex1)

}return true;

}/**

* jackson library

* @param jsoninstring

* @return

*/public final static boolean isjsonvalid2(string jsoninstring ) catch (ioexception e)

}/**

* google gson

* @param jsoninstring

* @return

*/public final static boolean isjsonvalid3(string jsoninstring) catch(jsonsyntaxexception ex)

}

isjsonvalid()16510 ms

16161 ms

2018 ms

isjsonvalid2()17946 ms

17486 ms

2698 ms

isjsonvalid3()20648 ms

20208 ms

2508 ms

/**

* 是否是合法的gson字串

* @param targetstr

* @return

*/private static boolean isgoodgson(string targetstr,class clazz)

try catch(jsonsyntaxexception ex) is not a valid {}",targetstr,clazz.getname(),ex);

return false;}}

/*** 是否是合法的jsonarray (alibaba 認為前1種不是json串)

* 例如:

* @param targetstr

* @return

*/public static boolean isjsonarray(string targetstr)

/*** 是否是合法的jsonobject(alibaba 認為前1種不是json串)

* 例如:

* @param targetstr

* @return

*/public static boolean isjsonobject(string targetstr)

效能相差不太多,推薦方式二isjsonvalid2()

判斷乙個字串是否是另乙個字串的子集

案例 c 開發 遇到模糊查詢的功能實現,不是直接查詢資料庫,而是匹配另外一些本地資料。string a asd string b asdsdad 其實a b的值都是取得動態資料。一開始自己寫了乙個函式用來判斷a是否在b中,for 迴圈即可。後來,才知道.net平台有這樣的函式,判斷字串的子集的索引號...

判斷乙個字串是否為合法ip位址

public class legal else system.out.println ip位址不合法 public static boolean islegalip string str ip最短7位 x.x.x.x 最長15位 if str.length 7 str.length 15 對首末字元...

SQL 判斷乙個字串是否在另外乙個字串中

eg str1 admin str2 1234,123admin,xcxx 比較str1是否在str2中 用常用的charindex,返回肯定是有值的,這裡自己動手寫乙個方法 檢查乙個字串是否在另外乙個字串中數,另外乙個字串元素用,隔開 create function dbo checkstrina...