使用随机/未知值数据类型解析密钥的json数据

时间:2016-11-10 18:44:49

标签: android json parsing android-json

如何使用随机/未知值类型解析密钥的json数据?在下面的json数据中,密钥数据可以是json对象或字符串,具体取决于服务器的响应。

响应1(Json对象)

userPosition

回应2(字符串)

account.shareLocation

1 个答案:

答案 0 :(得分:1)

你能做的最好的事情是

Object data = response.get("data");

虽然,您可以尝试

boolean gotObject = true;
String dataString = null;

// Try to request a JSONObject as a String
dataString = String.valueOf(response.optJSONObject("data"));

// If there wasn't a JSONObject, then try to get a String
if (dataString.isEmpty() || dataString.equals("null")) {
    dataString = response.optString("data");
    gotObject = false;
}

然后,你可以试试这个

if (gotObject) {
    JSONObject data = new JSONObject(dataString);
}

实际上,您应该制作更一致的服务器API