2011-08-12 19 views
6

मुझे पता है के साथ POJO करने के लिए फ़ाइल User.jsonजैक्सन - Json कई प्रविष्टियाँ

{ 
    "name" : { "first" : "Joe", "last" : "Sixpack" }, 
    "gender" : "MALE", 
    "verified" : false, 
    "userImage" : "Rm9vYmFyIQ==" 
} 

है मैं इस तरह एक एकल उपयोगकर्ता वस्तु का निर्माण कर सकते हैं:

User user = mapper.readValue(new File("user.json"), User.class); 

लेकिन यह कैसे मैं एक का निर्माण करते हैं ऑब्जेक्ट्स की सूची अगर फ़ाइल User.json है:

{ 
    "name" : { "first" : "Joe", "last" : "Sixpack" }, 
    "gender" : "MALE", 
    "verified" : false, 
    "userImage" : "Rm9vYmFyIQ==" 
}, 
{ 
    "name" : { "first" : "Jane", "last" : "Austen" }, 
    "gender" : "FEMALE", 
    "verified" : false, 
    "userImage" : "DFREWEWE==" 
} 

?

उत्तर

11

एकाधिक तरीके: अगर आप इनमें से किसी एक JSON सारणी है, तो आप कर सकते हैं:

User[] users = mapper.readValue(json, User[].class); 

या, यदि यह सिर्फ रूट स्तर मूल्यों का एक अनुक्रम आप क्या कर सकते हैं:

Iterator<User> it = mapper.readValues(json, User.class); 

और अधिक पुनरावृति मूल्यों

+0

क्या json अपने कोड में से ऊपर है (एक सूची या इस तरह के लिए जोड़) ??? कृपया प्रकार दें ताकि मैं इसका भी उपयोग कर सकूं। –

+0

प्रश्न में कोड से, यह स्पष्ट है कि 'json' एक फ़ाइल वस्तु है, JSON टेक्स्ट युक्त –

+0

सही - के बाद से यह (कई स्रोतों से आते हैं या यहां तक ​​कि हो सकता है JSON मैं प्रकार निर्दिष्ट नहीं किया 'बाइट []' या 'स्ट्रिंग')। @Imtiaz अहमद अधिक जानने के लिए संभव प्रकार के लिए जैक्सन javadocs देखें। – StaxMan

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