Java 如何在获取数据时避免Json数组
我用java获取Json数据,我的Json有不同的结构,并不总是相同的。例如:Java 如何在获取数据时避免Json数组,java,json,Java,Json,我用java获取Json数据,我的Json有不同的结构,并不总是相同的。例如: {"0":{"id"="255",name="example"},"1":{"news_id":"47221","news_infos":{"title":"test","date":"2014-05-14 17:44:02","shared":"47"},"website":"test.it"},"3":{"id"="55885",name="foo"}} 这只是一个例子。我想知道的是如何跳过第二个,我们假设第二
{"0":{"id"="255",name="example"},"1":{"news_id":"47221","news_infos":{"title":"test","date":"2014-05-14 17:44:02","shared":"47"},"website":"test.it"},"3":{"id"="55885",name="foo"}}
这只是一个例子。我想知道的是如何跳过第二个,我们假设第二个是JsonArray。
这是我用java做的一个例子
for (int i = 0; i < jObj.length() ; i++) {
try {
JSONObject obj = jObj.getJSONObject(i); //Suppose that every entry in the Json is an object and not a JsonArray.
if (!obj.isNull("titrenews")) {
Home home = new Home();
Log.i("Infos","Yes");
home.setNomC(obj.getString("titrenews"));
home.setPhotoAr(photoNews);
home.setText(obj.getString("textnews"));
home.setNbrSick(obj.getString("sicks"));
homeList.add(home);
}
}catch (JSONException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
总而言之,我有一个json数据。由JsonObject和JsonArray组成,我想跳过JsonArray条目并避免它
所以有什么解决办法吗 试试这种方法:
for (Object obj : jObj) {
if (obj instanceof JSONObject){
//do something
}
else if (obj instanceof JSONArray){
continue;//skip
}
}
您使用哪个json库/解析器?来自java i的org.json您的json示例不是有效的json检查,并且没有任何json数组。你能提供一个完整的例子完整有效的json和完整的源代码吗?