我在下面有一个解析JSON的方法。但是我遇到了一个错误(你可以从标题中看到),它说的是#org.json.JSON.typeMismatch"
尝试记录输出的名称,但没有运气。我在破解JSON方面的经验很少(你可以从中看出这一点),所以想知道如何解决这个问题。
private Boolean parse()
{
try
{
JSONArray ja=new JSONArray(jsonData);
JSONObject jo;
realms.clear();
for (int i=0;i<ja.length();i++)
{
jo=ja.getJSONObject(i);
String name = jo.getString("name");
Log.d("",name);
//realms.add(name);
}
return true;
} catch (JSONException e) {
e.printStackTrace();
return false;
}
}
我想解析的JSON是:
{
"realms": [{
"type": "pvp",
"population": "low",
"queue": false,
"status": true,
"name": "Aegwynn",
"slug": "aegwynn",
"battlegroup": "Misery",
"locale": "de_DE",
"timezone": "Europe/Paris",
"connected_realms": ["aegwynn"]
}, {
"type": "pve",
"population": "low",
"queue": false,
"status": true,
"name": "Aerie Peak",
"slug": "aerie-peak",
"battlegroup": "Reckoning / Abrechnung",
"locale": "en_GB",
"timezone": "Europe/Paris",
"connected_realms": ["bronzebeard", "aerie-peak"]
}]
(还有更多内容,但我不想全部复制)
不确定我是否可能没有解决&#34;领域&#34;阵列?只是希望对此有任何帮助!我无法理解为什么我会出现不匹配的情况?
亲切的问候
J G
答案 0 :(得分:0)
你的JSON字符串在这里显示它是一个JSONObject而不是JSONArray,所以你必须用这个字符串初始化一个JSONObject,之后从前一个JSONObject获得一个名为realms
的JSONArray。 Here is an example供您参考