Получить JSONobject из JSONArray в Android

У меня есть 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 мне нужно письмо из последнего JSONObject, созданного в android. Я сделал следующие вещи в своем коде, но я не получаю правильного письма, так как 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);

person mohammedali sunasara    schedule 09.10.2014    source источник
comment
Пожалуйста, расширьте свой вопрос, включив в него то, что вы пробовали до сих пор, и какую библиотеку json вы используете.   -  person ScouseChris    schedule 09.10.2014
comment
Я обновил свой пост, пожалуйста, посмотрите на него.. И я получаю данные с сервера..   -  person mohammedali sunasara    schedule 09.10.2014
comment
Вы не можете знать, какой jsonobject помещается в массив последним, если только вы его где-нибудь не сохраните. И, пожалуйста, поясните, что вы говорите. Для меня ты не имеешь особого смысла.   -  person stealthjong    schedule 09.10.2014
comment
JSONArray — это упорядоченная последовательность значений (объектов), поэтому зависит от того, как ваш код строит этот массив.   -  person vzamanillo    schedule 09.10.2014
comment
@stealthjong-Да, я не знаю, куда вставляется JSONObject. Итак, если последний JSONObject создан где-то в JSONArray, то как получить письмо из последнего JSONObject.   -  person mohammedali sunasara    schedule 09.10.2014


Ответы (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){
 }
person samsad    schedule 09.10.2014
comment
Я просто не знаю, куда вставляется JSONObject. Поэтому я не могу использовать это - person mohammedali sunasara; 09.10.2014

для доступа к последней букве в вашем массиве:

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...";
}
person Sina Amirshekari    schedule 09.10.2014
comment
Я просто не знаю, куда вставляется JSONObject. Поэтому я не могу это использовать. - person mohammedali sunasara; 09.10.2014
comment
вы можете обрабатывать заказ на стороне сервера. добавить счетчик или «CreatedDate» к каждому элементу - person Sina Amirshekari; 09.10.2014

Попробуйте выполнить следующий код. Вы можете узнать, доступен ли конкретный объект 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){
 }
person Sandip Armal Patil    schedule 09.10.2014
comment
Я просто не знаю, куда вставляется JSONObject. Поэтому я не могу это использовать. - person mohammedali sunasara; 09.10.2014