में ऑब्जेक्ट बनाने के लिए JSON का उपयोग करना मेरे पास एक ग्रोवी/ग्रेइल्स वेबसाइट है जिसका उपयोग JSON के माध्यम से एंड्रॉइड क्लाइंट को डेटा भेजने के लिए किया जा रहा है। मैंने एंड्रॉइड क्लाइंट और ग्रोवी/ग्रेल्स दोनों वेबसाइट बनाई हैं; और वे जेएसओएन में एक ही ऑब्जेक्ट्स आउटपुट कर सकते हैं।ग्रोवी/Grails
मैं जावा ऑब्जेक्ट्स पर जेएसओएन आउटपुट मैप करके एंड्रॉइड में संबंधित ऑब्जेक्ट्स सफलतापूर्वक बना सकता हूं, हालांकि मैं सोच रहा था कि जेरोवी आउटपुट का उपयोग ग्रोवी/ग्रेल्स में एक नया डोमेन ऑब्जेक्ट बनाने के लिए करना संभव है? क्या JSON आउटपुट को नियंत्रक क्रिया में पास करने का कोई तरीका है ताकि ऑब्जेक्ट बनाया जा सके?
यहां जेएसओएन का एक उदाहरण है जिसे मैं भेजना चाहता हूं;
{
"class":"org.icc.callrz.BusinessCard.BusinessCard",
"id":1,
"businessCardDesigns":[],
"emailAddrs":[
{
"class":"org.icc.callrz.BusinessCard.EmailAddress",
"id":1,
"address":"[email protected]",
"businessCard":{
"_ref":"../..",
"class":"org.icc.callrz.BusinessCard.BusinessCard"
},
"index":0,
"type":{
"enumType":"org.icc.callrz.BusinessCard.EmailAddress$EmailAddressType",
"name":"H"
}
},
{
"class":"org.icc.callrz.BusinessCard.EmailAddress",
"id":2,
"address":"[email protected]",
"businessCard":{
"_ref":"../..",
"class":"org.icc.callrz.BusinessCard.BusinessCard"
},
"index":1,
"type":{
"enumType":"org.icc.callrz.BusinessCard.EmailAddress$EmailAddressType",
"name":"W"
}
}
]
}
"वर्ग" डोमेन मैं करने के लिए बचाने के लिए चाहते हैं, उनके मेल खाता है, आईडी डोमेन की आईडी, तो businessCardDesigns के भीतर प्रत्येक मद है और emailAddrs (समान तरीकों का उपयोग कर बचाया जा करने की जरूरत है में डोमेन व्यवसाय करें कार्ड डिज़ाइन और ईमेल एड्रेसलिस्ट हैं)। अग्रिम में बहुत धन्यवाद!
समाधान:
@RequestMapping(method = RequestMethod.POST, headers = "Accept=application/json")
public ResponseEntity<String> createFromJson(@RequestBody String json) {
Owner.fromJsonToOwner(json).persist();
return new ResponseEntity<String>(HttpStatus.CREATED);
}
ऐसा लगता है कि यह बहुत उपयोगी साबित हो सकता है; योगदान के लिए धन्यवाद। मैं सोमवार को इसे आजमाउंगा। :) – krslynx