gson判断字符串是否是json

Java有个字符串,如何判断它是json字符串
现在主流的方法是啥呢?

gson原来有个JsonParser,现在弃用了,

String tmp = "{\"hello\":\"world\"}";

System.out.println(new JsonParser().parse(tmp));;

难道只能

try {

Gson gson = new Gson();

gson.fromJson(tmp, Map.class);

} catch (Exception e) {

// todo

}


回答:

专门去看了一下Gson,你的说法gson原来有个JsonParser,现在弃用了,其实是错误的。

当前最新版本为: 2.9.0 https://mvnrepository.com/artifact/com.google.code.gson/gson

他的意思是:没必要实例化该类,直接使用静态方法即可。所以,可以继续使用:

/**

* Parses the specified JSON string into a parse tree

*

* @param json JSON text

* @return a parse tree of {@link JsonElement}s corresponding to the specified JSON

* @throws JsonParseException if the specified text is not valid JSON

*/

public static JsonElement parseString(String json) throws JsonSyntaxException {

return parseReader(new StringReader(json));

}


一个点赞比较高的答案:https://stackoverflow.com/questions/10174898/how-to-check-whether-a-given-string-is-valid-json-in-java

import org.json.*;

public boolean isJSONValid(String test) {

try {

new JSONObject(test);

} catch (JSONException ex) {

// edited, to include @Arthur's comment

// e.g. in case JSONArray is valid as well...

try {

new JSONArray(test);

} catch (JSONException ex1) {

return false;

}

}

return true;

}


已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

以上是 gson判断字符串是否是json 的全部内容, 来源链接: utcz.com/p/944494.html

回到顶部