2010-03-13 20 views
7

मैं जानना चाहता हूं कि कोई वेबपृष्ठ/सॉफ़्टवेयर है जो एक जेसन फ़ीड ऑब्जेक्ट को "ऑब्जेक्ट्स" के साथ जावा ऑब्जेक्ट में "अनुवाद" कर सकता है।जावा ऑब्जेक्ट को JSON फ़ीड

उदाहरण के लिए:

{ 
      'firstName': 'John', 
      'lastName': 'Smith', 
      'address': { 
       'streetAddress': '21 2nd Street', 
       'city': 'New York' 
      } 
     } 

बन गयी:

class Person { 
    private String firstName; 
    private String lastName; 
    private Address address; 

    public String getFirstName() { return firstName; } 
    public String getLastName() { return lastName; } 
    public Address getAddress() { return address; } 

    public void setFirstName(String firstName) { this.firstName = firstName; } 
    public void setLastName(String lastName) { this.lastName = lastName; } 
    public void setAddress(Address address) { this.address = address; } 

    public String toString() { 
     return String.format("firstName: %s, lastName: %s, address: [%s]", firstName, lastName, address); 
    } 
} 

class Address { 
    private String streetAddress; 
    private String city; 

    public String getStreetAddress() { return streetAddress; } 
    public String getCity() { return city; } 

    public void setStreetAddress(String streetAddress) { this.streetAddress = streetAddress; } 
    public void setCity(String city) { this.city = city; } 

    public String toString() { 
     return String.format("streetAddress: %s, city: %s", streetAddress, city); 
    } 
} 

मैं नहीं कह रहा है कि क्योंकि मैं आलसी हूँ, लेकिन JSON मैं पार्स करने के लिए चाहते हैं काफी विशेषता का एक बहुत है ।

उत्तर

1

आप Google की JSON जावा लाइब्रेरी जीसन पर एक नज़र डालना चाहते हैं। इसमें जावा से JSON तक ऑब्जेक्ट्स को क्रमबद्ध करने और जेएसओएन से जावा ऑब्जेक्ट को deserialize करने के तरीके हैं।

मैंने इसे कभी भी deserialization के लिए उपयोग नहीं किया है, इसलिए मैं उस पर अधिक जानकारी नहीं दे सकता, उदाहरण के लिए यह नेस्टेड ऑब्जेक्ट (पता) को कैसे संभालेगा लेकिन मुझे लगता है कि यह इससे निपटने में सक्षम है।

एपीआई दस्तावेज़: http://google-gson.googlecode.com/svn/tags/1.3/docs/javadocs/index.html उपयोगकर्ता गाइड: https://sites.google.com/site/gson/gson-user-guide

गुड लक!

2

मैंने सफलतापूर्वक जेसन सीरियलाइजेशन और deserialization के लिए json-lib का उपयोग किया है। आपका उदाहरण इस प्रकार दिखाई देगा:

String json = "{'firstName': 'John', 'lastName': 'Smith', 'address': {'streetAddress': '21 2nd Street', 'city': 'New York'}}"; 
JSONObject jsonObject = JSONObject.fromObject(json); 
Person bean = (Person) JSONObject.toBean(jsonObject, Person.class); 
System.out.println(bean); 

और प्रिंट

firstName: John, lastName: Smith, address: [streetAddress: 21 2nd Street, city: New York] 

आप इसे अनुकूलित करने के लिए विस्तार हुक के बहुत देखते हैं की जरूरत है। मेरे आवेदन में मैंने किसी ऑब्जेक्ट की बजाय स्ट्रिंग "sv_SE" में लोकेल को क्रमबद्ध करने के लिए समर्थन जोड़ा। और एक लोकल ऑब्जेक्ट को उसी स्ट्रिंग को deserializing के लिए।

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