मैं JSON ऑब्जेक्ट के अंदर एक जेसन सरणी पास करने का प्रयास कर रहा हूं। समस्या मेरी सरणी सूची है जिसमें केवल आईडी शामिल हैं जिन्हें मुझे लूप करना है और जेसनएरे को पास करना है, लेकिन मेरे जेसनएरे को सरणी सूची के अंतिम अनुक्रमणिका का केवल मूल्य मिल रहा है और सरणीसूची आकार के समय की प्रतिलिपि बना रहा है।

            JSONObject jsonObject = new JSONObject();
            JSONArray category_ids_array = new JSONArray();
            JSONObject category_items = new JSONObject();


            jsonObject.put("category_ids", category_ids_array);


            for (int g=0 ;g < selectedCategories.size();g++)
            {
                category_ids_array.put(category_items);

                category_items.put("id",selectedCategories.get(g).getId());
                Log.d("catids",String.valueOf(selectedCategories.get(g).getId() ) );

            }

चयनित श्रेणियां सरणीसूची में शामिल हैं: १९३७,१९९४,१३३६५;

jsononject: {"category_ids":[{"id":13365},{"id":13365},{"id":13365}]}
0
Farah Abbas 25 अप्रैल 2019, 14:57

1 उत्तर

सबसे बढ़िया उत्तर

असल में मुझे वह मिला जो मैं गलत कर रहा था। मुझे हर बार JSONObject को नया बनाने की जरूरत थी।

for (int g=0 ;g < selectedCategories.size();g++)
        {
            JSONObject category_items = new JSONObject();

            category_items.put("id",selectedCategories.get(g).getId());
            Log.d("catids",String.valueOf(selectedCategories.get(g).getId() ) );

category_ids_array.put(category_items);

        }
0
Farah Abbas 25 अप्रैल 2019, 14:34