मेरे आरईएसटी एपीआई को वस्तुओं की एक सूची वापस करनी चाहिए

public List<MyObject> getMyObjects() { ... }

माईऑब्जेक्ट

public class MyObject {

    private int id;
    private String name;
    private List<int[]> coordinates;

    // getters
    // setters
}

इस पद्धति पर कॉल काम करती है और कोई त्रुटि नहीं है।

समस्या निर्देशांक की सूची के बारे में है। जेएसओएन उत्पन्न करते समय int [] की मेरी सूची इस में बदल जाती है

"coordinates":["[I@409cd27c","[I@1a552b8c","[I@1af3f13d","[I@5e12856b","[I@78bba3e7", //...

मैं इस सूची के साथ JSON रूपांतरण कैसे काम कर सकता हूं? सब कुछ अन्य चर के साथ ठीक काम कर रहा है।

1
Weedoze 27 सितंबर 2016, 11:39
इन int[] की सामग्री क्या है? आप किस जेसन लाइब्रेरी का उपयोग कर रहे हैं?
 – 
Jorn Vernee
27 सितंबर 2016, 11:43
मैं genson-1.4 का उपयोग कर रहा हूं और tis सूची में कई [x,y] हैं जो निर्देशांक बिंदु हैं
 – 
Weedoze
27 सितंबर 2016, 11:45
3
आपको वैसे भी int[] का उपयोग नहीं करना चाहिए। एक उचित मॉडल वर्ग बनाएं जो एक समन्वय का प्रतिनिधित्व करेगा जहां आप यह भी जांचेंगे कि मान मान्य हैं या नहीं। आप int[] खाली हो सकते हैं या इसमें "बहुत सारे" मूल्य हैं और दोनों मामले मान्य नहीं हैं, है ना?
 – 
Tom
27 सितंबर 2016, 11:47

1 उत्तर

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

आप उन int[] में से, बिल्कुल अपेक्षित रूप से, toString() प्राप्त कर रहे हैं। आदर्श रूप से, आपको नंगे समन्वय जोड़े को Point वर्ग में समाहित करना चाहिए, लेकिन यदि JSON के बारे में अन्य आवश्यकताओं के कारण यह व्यावहारिक नहीं है, तो सरणी के बजाय एक सूची का उपयोग करें:

List<List<Integer>> coordinates;
5
chrylis -cautiouslyoptimistic- 27 सितंबर 2016, 11:46