2011-10-04 20 views
6

मुझे यह पता लगाना प्रतीत नहीं होता है। मैंने कुछ एसओ पोस्ट (here, और here) पर देखा है, और मेरी स्थिति बस थोड़ा अलग है।जीएसओएन पार्सिंग गतिशील JSON फ़ील्ड

मुझे यकीन नहीं है कि मुझे एक नया टाइप टोकन पंजीकृत करना है या क्या। लेकिन मेरे JSON ऑब्जेक्ट इस तरह दिखता है:

{ 
    "id": 6, 
    "error": "0", 
    "dates": { 
     34234 : "2011-01-01" // I want to parse the date into a string. 
     87474 : "2011-08-09" // The first values are all unique. 
     .     //this can be any number of entries. 
     . 
     . 
     74857 : "2011-09-22" 
    } 
} 

मैं इस तरह मेरी वस्तुओं की दोनों बना लिया है:

public class Response { 

    public Integer id; 
    public String error; 
    public DateList dates; 
} 

अलग फ़ाइल:

public class DateList { 

    public List<Map<Integer, String>> dateString; 
} 

मुझे यकीन है कि नहीं कर रहा हूँ कैसे इसे सही करने के लिए इसे ट्वीक करें। दस्तावेज़ीकरण मदद नहीं करता है ... और मैंने जो अन्य उदाहरण देखे हैं वे कस्टम ऑब्जेक्ट को पार्स कर रहे हैं, स्ट्रिंग प्रकार नहीं।

धन्यवाद!

+2

मुझे नहीं पता कि जीएसओएन क्या है, लेकिन 'सूची <मानचित्र <पूर्णांक, स्ट्रिंग>' कम से कम '>' गायब है। साथ ही, यह सिर्फ एक नक्शा नहीं होना चाहिए और नक्शे की सूची नहीं है? – svens

+0

क्षमा करें मैंने उस कोड को कॉपी और चिपकाया नहीं है। सहायता के लिए धन्यवाद! –

उत्तर

12

मैं इस रूप में इसे करने की कोशिश:

Json

{ 
    "id": 6, 
    "error": "0", 
    "dates": { 
     "34234" : "2011-01-01" 
     "87474" : "2011-08-09" 
     "74857" : "2011-09-22" 
    } 
} 

और Response.java

public class Response { 
    public Integer id; 
    public String error; 
    public Map<Integer, String> dates; 
} 

कि बॉक्स से बाहर काम करने के लिए लग रहा था कम से कम।

+0

धन्यवाद !! मुझे पता था कि यह कुछ आसान था! –

+0

मेरे लिए भी काम किया। मैंने सोचा कि मुझे कस्टम टाइप एडाप्टर या कुछ जादुई लिखना है। – squeeish

संबंधित मुद्दे