में जेनेरिक स्ट्रिंग में कनवर्ट करें मेरे पास एक एपीआई है जो जेएसओएन देता है। प्रतिक्रिया कुछ प्रारूप में है जो एपीआरसल्ट नामक ऑब्जेक्ट में फिट हो सकती है और इसमें Context <T>
और एक इंट कोड शामिल है।जेएएनए (जेएसओएन के साथ) जेएसओएन स्ट्रिंग को जेएसओएन (जीएसओएन के साथ)
ApiResult को सामान्य तरीके से घोषित किया गया है, उदा। ApiResult<SomeObject>
मैं कैसे GSON ApiResult<T>
को भेजे JSON स्ट्रिंग परिवर्तित करने के लिए प्राप्त करने के लिए जानना चाहते हैं अब तक मेरे पास है:
Type apiResultType = new TypeToken<ApiResult<T>>() { }.getType();
ApiResult<T> result = gson.fromJson(json, apiResultType);
लेकिन यह अभी भी देता है एक LinkedHashMap के संदर्भ के बजाय धर्मान्तरित (जो मुझे लगता है कि जीएसओएन वापस क्या आता है)
तो मैं ले कि टी अपने उदाहरण में प्रकार स्ट्रिंग की है:
हो सकता है कि यह आपके मामले में GSON साथ सही तरीका क्या है । लेकिन मेरे पास स्ट्रिंग नहीं है लेकिन टी। आखिरी कथन (असाइनमेंट) कैसे बदल जाएगा? – Yannis
हाँ, मुझे लगता है कि आपके पास 'String.class' (' getGenToken' में) के स्थान पर सेट करने के लिए 'कक्षा 'var है)। लेकिन शायद यह आपके मामले पर लागू नहीं होता है। –
PomPom