我需要帮助。 如果userID是正确的。 JSONObject是
{
"info": {
"name": "Guest",
"age": "18"
}
}
如果userID错误。 JSONObject是
{
"info":"wrong"
}
我的代码:
if (!(resultObject.getString("info").contains("name"))) {
String strImg = resultObject.getString("info");
System.out.println("str response: " + strImg);
} else {
JSONParse jsonParse = new JSONParse();
JSONObject json = new JSONObject(resultObject.getString("info"));
onSuccess(jsonParse.convertJsonToInformation(json));
}
但是不起作用。我不知道如何解析
答案 0 :(得分:2)
我建议您使用一致的Json格式,而不要使用动态格式。因此,您的处理将始终相同。您可以先检查状态。如果状态为“ ok”,则可以使用info Json节点。
正确信息示例:
{
"status": "ok",
"info": {
"name": "Guest",
"age": "18"
}
}
有关错误信息的示例:
{
"status": "wrong",
"info": null
}
答案 1 :(得分:0)
解决方案::您可以使用optJSONObject
和optString
方法来检测JSON密钥的值是JSON对象还是字符串。
if(resultObject.optJSONObject("info") != null) {
// info is a JSON Object.
} else if (resultObject.optString("info") != null) {
// info is a String.
}
答案 2 :(得分:0)
JSONObject dataObject = new JSONObject(response).optJSONObject("info");
if(dataObject == null){
System.out.println("str response: " + json.optString("info"));
} else {
JSONObject jsonSuccess = new JSONObject(json.getString("info"));
}