2015-02-23 2 views
5

का उपयोग करके उपलब्ध MyClass के लिए कोई निहित प्रारूप नहीं है I Json.format पर किसी अन्य ऑब्जेक्ट की विशेषता के रूप में जटिल ऑब्जेक्ट का उपयोग करते समय मुझे कोई त्रुटि मिल रही है। RoleDTO और EmailInvitationDTO:Json.format

मैं दो वर्गों की है। ईमेलइन्वेशन डीटीओ में रोलडीटीओ है। तो, मैं घोषणा की: RoleDTO उपलब्ध के लिए कोई अंतर्निहित प्रारूप:

case class RoleDTO(id:Option[Long] = None, roleType:Int, userID:Long, fromHousingUnitID:Option[Long] = None, isAdmin:Option[Boolean] = None, fromResidentUserID:Option[Long] = None, documentNumber:Option[String] = None, fromCondoID:Option[Long] = None) 
object RoleDTO { val roleFormat = Json.format[RoleDTO] } 

case class EmailInvitationDTO(firstName:String, lastName:String, email:String, role:RoleDTO) 
object EmailInvitationDTO{ val emailInvitationFormat = Json.format[EmailInvitationDTO] } 

मैं त्रुटि हो रही है।

object EmailInvitationDTO { 
    val roleFormat = Json.format[RoleDTO] 
    val emailInvitationFormat = Json.format[EmailInvitationDTO] 
} 

किसी को भी जानता है क्या याद आ रही है: यहां तक ​​कि अगर मैं पहले emailInvitationFormat एक लाइन में roleFormat चर घोषित? धन्यवाद।

+0

यह है कि अगर हम जानते थे कि क्या इन कक्षाओं की तरह दिखाई देता में मदद मिलेगी। –

+0

अधिक जानकारी के साथ प्रश्न संपादित किया। – adheus

+1

आपको 'रोलफॉर्मैट' और 'ईमेलइवेशनफॉर्मैट' निहित करने की आवश्यकता है। –

उत्तर

5

आपको अपने EmailInvitationDTO ऑब्जेक्ट घोषणा में एक अंतर्निहित roleFormat शामिल करने की आवश्यकता है। Json.format मैक्रो संकलन समय पर अंतर्निहित जेसन प्रारूपों को देखता है, अन्यथा यह आपके EmailInvitationDTO में RoleDTO को पढ़ने/लिखने का कोई विचार नहीं होगा।

तो तुम एक emailInvitationFormat बनाने से पहले दायरे में निम्नलिखित पंक्ति की आवश्यकता होगी:

implicit val roleFormat = Json.format[RoleDTO] 
+0

मैंने यह किया, त्रुटि अभी भी हो रही है (संपादन देखें)। – adheus

+0

ओह, अब मिल गया। मैं निहित पहचानकर्ता भूल गया। माफ़ करना दोस्त। – adheus

+2

एक अलग समस्या को हल करने का प्रयास करते समय यह पाया, लेकिन पोस्ट ने मुझे मेरे कोड के साथ गलत क्या संकेत दिया, इसलिए यदि कोई और मेरे जैसा ही मुद्दा चलाता है, तो यह इंगित करने योग्य है कि निहितार्थों को घोषित करने की आवश्यकता है सही क्रम में, इसलिए RoleDto को ईमेलInvocationDto से पहले आने की आवश्यकता है। – redwulf