मैं इस जेसन सरणी से मानों को कैसे पढ़ूं और उन 2 मानों को 2 अलग-अलग चरों में कैसे स्टोर करूं?

[  
   [  
      6.89545,
      79.85217
   ],
   [  
      6.897287,
      79.859544
   ],
   [  
      6.905271,
      79.862609
   ],
   [  
      6.906114,
      79.858998
   ]
]

लेकिन, जैसा कि स्पष्ट है, सरणी के लिए कोई कुंजी नहीं है। तो कोई इस बारे में कैसे जाएगा? क्या इससे निपटने का कोई तरीका संभव है? यह वह तरीका है जिसका उपयोग मैं सरणी से मान प्राप्त करने के लिए कर रहा हूं।

@Override
    public void onResponse(String response) {
        md.dismiss();
        if (response != null) {
            try {
                List<LatLng> latLngs = new ArrayList<>();
                JSONArray latLonArray = new JSONArray( response );

                for (int i = 0; i < latLonArray.length(); i++) {
                    // this is the part where I am stuck
                }
            } catch (JSONException e) {
                e.printStackTrace();
                Toast.makeText(mContext, "Server connection error", Toast.LENGTH_SHORT).show();
            }
        } else {
            Toast.makeText(mContext, "Server connection error", Toast.LENGTH_SHORT).show();
        }
    }
-1
M.N. Waleedh 25 नवम्बर 2018, 22:21

1 उत्तर

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

के लिए (int i = 0; i < latLonArray.length (); i++) {// यह वह हिस्सा है जहां मैं फंस गया हूं}

आप अपने JSONArray से मानों तक पहुंचने के लिए संख्यात्मक अनुक्रमणिका का उपयोग कर सकते हैं। उदाहरण के लिए:

 for (int i = 0; i < latLonArray.length(); i++) {

   double latitude = latLonArray.getJSONArray(i).getDouble(0);
   double longitude = latLonArray.getJSONArray(i).getDouble(1);

                }

JSONArray में प्रत्येक तत्व एक JSONArray भी है और उस JSONArray के अंदर हमारे पास दो दोहरे मान हैं (बेशक आपके JSON स्ट्रिंग की संरचना के अनुसार) इसलिए आपको आंतरिक JSONArray तक पहुंचना होगा और फिर इसके मूल्यों को पुनः प्राप्त करना होगा। उपरोक्त कोड मदद कर सकता है, इसे देखें और प्रेरित हों। आपको कामयाबी मिले।

1
Gratien Asimbahwe 25 नवम्बर 2018, 21:01