我做了一些研究,我发现了这两种检查方法,但我不知道哪种方法会更慢并导致更多开销?
方法1:
public boolean isJSONValid(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
方法2:
if (Law.get("LawSet") instanceof JSONObject)
{
JSONObject Lawset = Law.getJSONObject("LawSet");
}
else if (Law.get("LawSet") instanceof JSONArray)
{
JSONArray Lawset = Law.getJSONArray("LawSet");
}
编辑:显然这两种方法都不会根据我在这个问题下面的评论工作,所以如何检查传入的字符串是否是有效的JSONObject或JSONArray?
答案 0 :(得分:0)
试试这个。
String myData= "{ ... }";
Object json = new JSONTokener(myData).nextValue();
if (json instanceof JSONObject)
//This is object
else if (json instanceof JSONArray)
//This is array
它会正常工作