我有JSONArray,里面有不同的JSONObjects。当我的方法将在那时被调用时,将首先创建JSONObject。再次调用该方法时,将在前一个JSONObject旁边调用另一个JSONObject。现在我希望插入最新的JSONObject元素。问题是JSONObject被插入JSONArray中的任何位置。那么如何才能获得插入最新JSONObject的元素。 这是我的JSONArray
[
{
"letter": "E",
"col": 2,
"row": 5,
"badge": "1"
},
{
"letter": "D",
"col": 2,
"row": 6,
"badge": "2"
},
{
"letter": "Y",
"col": 2,
"row": 8,
"badge": "3"
}
]
在上面的JSONArray中,我想要在android中创建的最新JSONObject的字母。我已经在我的代码中做了以下事情,但由于JSONObject放在任何地方,我没有得到正确的信件。
JSONArray jarry1 = new JSONArray(allwordsss);
for (int i = 0; i < jarry1.length(); i++) {
String all = jarry1.getString(i).toString();
Log.e("TAG2", "All" + all);
JSONObject jobjjjj = new JSONObject(all);
letter = jobjjjj.getString("letter");
}
Log.i("TAG2", "letter" + letter);
答案 0 :(得分:3)
试试这会对你有帮助。
try{
JSONArray jarry1 = new JSONArray(allwordsss);
JSONObject jobject
for(int i=0; i<jarry1.size(); i++)
{
jobject = jarry1.getJSONObject(i)
String letter = jobject.get("letter")
Log.i("TAG", "letter" + letter);
}
catch(JSONException e){
}
答案 1 :(得分:1)
访问数组中的最新字母:
String letter;
try {
JSONArray array = new JSONArray(json);
JSONObject object = array.getJSONObject(array.length()-1);
if (object.has("letter")) // according to defensive programming rules
letter = object.getString("letter");
catch {
letter = "error...";
}
答案 2 :(得分:1)
尝试以下代码,您可以获取特定的json对象是否在响应json中可用。如果是,那就搞定吧。
try{
JSONArray results = jsonObject.getJSONArray(allwordsss);
for (int i = 0; i < results.length(); i++) {
JSONObject jsonResult = results.getJSONObject(i);
// To check whether such key available or not, otherwise will through exception
if (jsonResult.has("letter"))
String letter = jsonResult .getString("letter");
}
}catch(JSONException e){
}