मैं एक ऐप बना रहा हूं जिसमें मैं सर्वर से एक PHP फ़ाइल का अनुरोध करता हूं। इस PHP फ़ाइल, उसके तत्वों जैसे के रूप में एक JSONArray होने JSONObjects रिटर्नमैं JSONArray से एक विशिष्ट तत्व को कैसे हटा सकता हूं?
[
{
"uniqid":"h5Wtd",
"name":"Test_1",
"address":"tst",
"email":"[email protected]",
"mobile":"12345",
"city":"ind"
},
{...},
{...},
...
]
मेरी कोड:
/* jArrayFavFans is the JSONArray i build from string i get from response.
its giving me correct JSONArray */
JSONArray jArrayFavFans=new JSONArray(serverRespons);
for (int j = 0; j < jArrayFavFans.length(); j++) {
try {
if (jArrayFavFans.getJSONObject(j).getString("uniqid").equals(id_fav_remov)) {
//jArrayFavFans.getJSONObject(j).remove(j); //$ I try this to remove element at the current index... But remove doesn't work here ???? $
//int index=jArrayFavFans.getInt(j);
Toast.makeText(getParent(), "Object to remove...!" + id_fav_remov, Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
मैं इस JSONArray से किसी विशिष्ट तत्व निकालते हैं?
यह खराब कोडिंग शैली है। किसी त्रुटि के मामले में, तत्व को हटाया नहीं जाता है, लेकिन invoking कोड को यह जानने का कोई मौका नहीं है। एक बेहतर तरीका है _not_ का उपयोग करने की कोशिश करें .. पकड़ें लेकिन फ़ंक्शन हेडर में 'JSONException' फेंकने का उपयोग करके –
@DanielAlder 'निकालें' विधि अपवाद नहीं फेंक सकती है क्योंकि ओवरराइड विधि ऐसा नहीं करती है। –
ठीक है, इस मामले में मैं 'e.printStackTrace() के बजाय 'नया रनटाइम अपवाद (ई)' (या' InternalError') फेंक दूंगा; इसे वापस कर दें; '- बस मामले के लिए –