प्ले JSON एपीआई द्वारा उत्पादित त्रुटि संदेशों में से तरह के उदाहरण:प्ले JSON एपीआई से बेहतर त्रुटि संदेश हो रही
scala> import play.api.libs.json._
import play.api.libs.json._
scala> Json.obj("k" -> Json.obj("m" -> 7))
res0: play.api.libs.json.JsObject = {"k":{"m":7}}
scala> (res0 \ "p").as[String]
play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(validate.error.expected.jsstring,WrappedArray())))))
at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67)
at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67)
at play.api.libs.json.JsResult$class.fold(JsResult.scala:69)
at play.api.libs.json.JsError.fold(JsResult.scala:10)
at play.api.libs.json.JsValue$class.as(JsValue.scala:65)
at play.api.libs.json.JsUndefined.as(JsValue.scala:98)
at .<init>(<console>:12)
at .<clinit>(<console>)
at .<init>(<console>:7)
// gazillion lines more
scala> (res0 \ "k" \ "m").as[String]
play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(validate.error.expected.jsstring,WrappedArray())))))
at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67)
at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67)
at play.api.libs.json.JsResult$class.fold(JsResult.scala:69)
at play.api.libs.json.JsError.fold(JsResult.scala:10)
at play.api.libs.json.JsValue$class.as(JsValue.scala:65)
at play.api.libs.json.JsNumber.as(JsValue.scala:108)
at .<init>(<console>:12)
at .<clinit>(<console>)
at .<init>(<console>:7)
// gazillion lines more
वहाँ एक रास्ता इस एपीआई से बाहर बेहतर त्रुटि संदेश प्राप्त करने के लिए है? उदाहरण के लिए, दो मामलों से ऊपर के लिए त्रुटि संदेश No value found at JsPath \ "p"
की तरह लग सकता है, Value found at JsPath \ "k" \ "m" cannot be read as type String
आदि
क्यों डिफ़ॉल्ट तरीका कैसे 'JsValue' पर डिफ़ॉल्ट एक्सेसर तरीके काम नहीं है? मामलों की रिपोर्ट करने में त्रुटि। :( – missingfaktor
@ मंडुबियन - मेरे पास स्कैला केस क्लास की संपत्ति में से एक में लंबा प्रकार है। लेकिन जब मैं उस वर्ग के जेसन को सीक में परिवर्तित करता हूं तो यह मुझे "erro.expected.long" –
देता है अगर यह भी बताता है कि कौन सी रेखा त्रुटि है ऐसा होता है कि यह * भयानक नहीं होगा। – JulienD