दिलचस्प पोस्ट
32-बिट विंडोज 7 मशीन पर पायथन 3.5 में सिप्पी स्थापित करना कैसे एक वस्तु में आंतरिक वस्तुओं / संपत्ति पर पुनरावृत्त करने के लिए एच का उद्देश्य: आउटपुट लेबल और इसकी "के लिए" विशेषता वसंत में स्टार्टअप पर विधि निष्पादित करें स्पष्ट स्थिति से नहीं बल्कि स्कीकरण को सक्षम करने के लिए स्काला सूची को कैसे विस्तारित करें उपयोगकर्ता को बलपूर्वक बंद करने के बावजूद किसी सेवा को स्वचालित रूप से कैसे पुनरारंभ करें? एक स्ट्रिंग से सफेद स्थान ट्रिम? यदि स्रोत छवि नहीं मिली है तो वैकल्पिक छवि कैसे दिखती है? (आईर में काम करने वाले आतंक लेकिन मोज़िला में नहीं) जेपीएनएल के कार्य के बारे में चिंताएं: पेंटवॉम्पोनेंट () कस्टम फ़िल्टर में जावा कॉन्फ़िगरेशन का उपयोग करके प्रमाणीकरण प्रबंधक को इंजेक्षन कैसे करें I इस जावा विधि में दो रिटर्न प्रकार क्यों दिखाई देते हैं? जब तक सभी ईएस 6 वादे पूरा नहीं होते, तब तक इंतजार करें, वादे भी अस्वीकार कर दिए गए मैं JSON प्रोग्राम को कैसे सुशोभित कर सकता हूं? ईसीएमएस्क्रिप्ट 6 का उपयोग करना जावास्क्रिप्ट में आरक्षित कीवर्ड

जीएसएन – जेसन से एक टाइप ऐरेलिस्ट <टी> में परिवर्तित करें

जीएसएन लाइब्रेरी का उपयोग करना, मैं एक कस्टम क्लास JsonLog की ArrayList में JSON स्ट्रिंग कैसे JsonLog ? मूल रूप से, JsonLog मेरे एंड्रॉइड ऐप द्वारा बनाए गए विभिन्न प्रकार के लॉग द्वारा लागू एक इंटरफ़ेस है – एसएमएस लॉग, कॉल लॉग, डेटा लॉग – और यह ArrayList उन सभी का एक संग्रह है मुझे लाइन 6 में त्रुटि मिल रही है

 public static void log(File destination, JsonLog log) { Collection<JsonLog> logs = null; if (destination.exists()) { Gson gson = new Gson(); BufferedReader br = new BufferedReader(new FileReader(destination)); logs = gson.fromJson(br, ArrayList<JsonLog>.class); // line 6 // logs.add(log); // serialize "logs" again } } 

ऐसा लगता है कि कंपाइलर समझ नहीं पा रहा है कि मैं एक टाइप ArrayList संदर्भ में हूँ मैं क्या करूं?

वेब के समाधान से एकत्रित समाधान "जीएसएन – जेसन से एक टाइप ऐरेलिस्ट <टी> में परिवर्तित करें"

आप कस्टम ऑब्जेक्ट में json स्ट्रिंग लोड करने के लिए टाइपटोकन का उपयोग कर सकते हैं।

 logs = gson.fromJson(br, new TypeToken<List<JsonLog>>(){}.getType()); 

आपका जेसन प्रारूप इस प्रकार है:

{"स्थिति": "ठीक", "टिप्पणी": "", "परिणाम": {"id": 276, "प्रथमनाम": "मोहम्मद", "अंतिम नाम": "ह्यूसियन", "खिलाड़ी": ["खिलाड़ी 1 "," खिलाड़ी 2 "," खिलाड़ी 3 "," खिलाड़ी 4 "," खिलाड़ी 5 "]}}

इसलिए यदि आप अपने SharedPrefrences में मॉड्यूल की सरणी सूची को सहेजना चाहते हैं तो:

1- इस विधि का उपयोग करके जेसन प्रारूप के लिए आपकी लौटी सरणी सूची को रूपांतरित कर देगा

 public static String toJson(Object jsonObject) { return new Gson().toJson(jsonObject); } 

2- इसे साझा प्रीफेनेसेस में सहेजें

 PreferencesUtils.getInstance(context).setString("players", toJson((.....ArrayList you want to convert.....))); 

3- इसे किसी भी समय प्राप्त करने के लिए उस तरह से साझा प्राथमिकताओं से JsonString प्राप्त करें

 String playersString= PreferencesUtils.getInstance(this).getString("players"); 

4- सरणी सूची में इसे फिर से कनवर्ट करें

 public static Object fromJson(String jsonString, Type type) { return new Gson().fromJson(jsonString, type); } ArrayList<String> playersList= (ArrayList<String>) fromJson(playersString, new TypeToken<ArrayList<String>>() { }.getType()); 

यह समाधान भी संभव है यदि आप ऑब्जेक्ट्स की आरे लिस्ट को पार्स करना चाहते हैं तो आशा है कि यह आपकी मदद जीएसएन लाइब्रेरी का उपयोग कर रहा है ।