从android中的JSONArray获取JSONobject

时间:2014-10-09 11:10:37

标签: android json arrays jsonobject

我有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);

3 个答案:

答案 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){
 }
相关问题