/ / प्ले फ्रेम 2.3.x (स्काला) में JJO को POJO कैसे कन्वर्ट करें? - json, scala, playframework, playframework-2.0

पीओजेओ को जेएसओएन में प्ले फ्रेमवर्क 2.3.एक्स (स्कैला) में कैसे परिवर्तित करें? - जेसन, स्कैला, प्लेफ्रेमवर्क, प्लेफ्रेमवर्क-2.0

कोई भी मुझे दिखा सकता है कि प्ले फ्रेम में (विशेष रूप से Play v2.3.x) JSON में POJO या वर्ग उदाहरण को JSON में कैसे परिवर्तित किया जाए?

उदाहरण के लिए मेरे पास इस तरह का कोड है:

case class Foo(name: String, address: String)

def index = Action {
request => {
val foo = Foo("John Derp", "Jem Street 21")  // I want to convert this object to JSON
Ok(Json.toJson(foo))    // I got error at here
}
}

त्रुटि संदेश:

Com.fasterxml.jackson.data bind.JsonNode का एक उदाहरण नहीं लिख सकता HTTP प्रतिक्रिया के लिए। परिभाषित करने का प्रयास करें लिखने योग्य [com.fasterxml.jackson.databind.JsonNode]

अद्यतन करें: मुझे पता चला कि उपरोक्त त्रुटि के गलत आयात के कारण है Json वर्ग, यह होना चाहिए: import play.api.libs.json.Json। हालाँकि मुझे अभी भी नीचे अंतर्निहित समस्या पर त्रुटि मिली।

मैंने पढ़ा है यह ट्यूटोरियल, लेकिन जब मैंने निहितार्थ की कोशिश की Writes[Foo] कोड:

  implicit val fooWrites: Writes[Foo] = (
(JsPath  "name").write[String] and
(JsPath  "address").write[String]
)(unlift(Foo.unapply))

मुझे मिला Can"t resolve symbol and तथा Can"t resolve symbol unlift इंटेलीज में त्रुटि। इसके अलावा ट्यूटोरियल का कोड सिर्फ JSON के ऑब्जेक्ट के रूपांतरण के लिए जटिल दिखता है। मुझे आश्चर्य है कि क्या ऐसा करने के लिए अधिक सरल तरीका है?

उत्तर:

उत्तर № 1 के लिए 7

आप एक प्राप्त कर सकते हैं Writes[Foo] का उपयोग करके उदाहरण Json.writes:

implicit val fooWrites = Json.writes[Foo]

दायरे में इस निहितार्थ होने के बाद आपको सभी को बदलना होगा Foo JSON के लिए। डोक्यूमेन्टेशन देखें यहाँ तथा यहाँ JSON के बारे में अधिक जानकारी के लिए पढ़ता / लिखता है।


उत्तर № 2 के लिए 1

दूसरी समस्या - Can"t resolve symbol and - है एक इंटेलीज बग स्काला प्लगइन के संस्करण 1.3 में पेश किया गया। स्केला प्लगइन के संस्करण 1.3.3 में, अब एक वर्कअराउंड सेट प्राथमिकता चेकबॉक्स है:

भाषाएँ और फ्रेमवर्क> स्काला> कोर (डिफ़ॉल्ट) टैब> पुराने का उपयोग करें निहितार्थ खोज एल्गोरिथ्म