直截了当我们可以检查给定的字符串是否是正确的JSON格式?我们可以使用
http://jsonviewer.stack.hu/等等。
但是如果我们想以编程方式执行相同的任务,我们可以在android中编写验证器方法,因为目前我正在尝试使用如下。
这是实现这一目标的正确方法,因为我编写了给定的函数
public boolean isJSONValid(String test) {
try {
new JSONObject(test);
return true;
} catch (JSONException ex) {
try {
new JSONArray(test);
return true;
} catch (JSONException ex1) {
return false;
}
}
}
请建议是否有更好的东西。所有这些我需要检查测试用例,因为我知道服务会处理正确的json。
答案 0 :(得分:3)
试试这个..
try {
Object obj = new JSONTokener(test).nextValue();
if (obj instanceof JSONObject)
//you have an object
else if (obj instanceof JSONArray)
//you have an array
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
答案 1 :(得分:1)
这可能会对你有帮助,
public boolean isJSONValid(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
答案 2 :(得分:0)
我认为你应该按照以下方式检查,
public boolean isJSONValid(String test)
{
try
{
new JSONObject(test);
// If JsonObject is ok then check for JSONArray
try
{
new JSONArray(test);
return true;
} catch (JSONException ex1) {
return false;
}
} catch (JSONException ex) {
try
{
new JSONArray(test);
return true;
} catch (JSONException ex1) {
return false;
}
}
}