I think the .asJs method on all Mapper instances should give you the object in JavaScript representation. If you can post an entire file, I can work on helping you if the above doesn't work.
On Thu, Apr 9, 2009 at 6:53 AM, Amit Kumar Verma <cdac.a...@gmail.com>wrote: > > copied the the same code but getting this error > > type arguments [_] do not conform to trait MetaMapper's type parameter > bounds [A <: net.liftweb.mapper.Mapper[A]] > TravelMerchantTest/src/main/ > scala/com/vtech/travelmerchant/snippet default.scala line 142 > 1239284830763 85593 > > Actually I am trying to make the JSON object using a mapper object. My > function is this : > > def getJSONStringGeneric(anyObject :Any):NodeSeq = { > > //Console.println("anyObject.getClass :::::::: > "+anyObject.getClass); > > //Console.println("anyObject.getClass.getName :::::::: > "+anyObject.getClass.getName); > > //var objTemp = anyObject.asInstanceOf[MetaMapper > [TestGearLogin]]; > > var sJSONString = "{\"bindings\": ["; > > anyObject match { > case mm: MetaMapper[_] => > mm.findAll.map( > (userdetails: Mapper[_]) =>{ > > > var tempJSON = ""; > > val ret = new StringBuilder > > ret.append("{") > > ret.append(userdetails.getSingleton.appendFieldToStrings > (userdetails)) > > ret.append("}") > > // ret will be like > {username=222,password=222,audit_dt=2009-04-06 > 00:00:00.0,login_pid=26} > > tempJSON = ret.toString(); > > tempJSON = tempJSON.replaceAll("\\{","\\{\""); > tempJSON = tempJSON.replaceAll("\\}","\"\\}"); > tempJSON = tempJSON.replaceAll("=","\":\""); > tempJSON = tempJSON.replaceAll("," , "\",\""); > tempJSON += ","; > > sJSONString +=tempJSON > } > ) > } > > sJSONString = sJSONString.substring(0,sJSONString.length-1); // > for slicing the last comma > sJSONString += "]}"; > > Text(sJSONString); > } > > > but not getting a way of doing this. Please advise. > > Thanks > Amit Kumar Verma > > > On Apr 9, 6:14 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote: > > Howdy, > > Scala is a static language, so the class for casting must be known at > > compile time. It's not possible to construct a String at runtime and > cast > > an object into a class represented by that String. > > > > However, casting to a known class is easy in Scala... and it's done > > primarily using pattern matching. The following code: > > > > def foo(in: Any) = in match { > > case mm: MetaMapper[_] => > > mm.findAll.map( > > (m: Mapper[_]) => > > m.asJs > > ) > > case _ => > > } > > > > Does what I think you want. It takes an incoming instance, in and > matches > > it against being an instance of MetaMapper[_]. This means its some type > of > > MetaMapper (we don't know or care what the type parameter is). If it is > a > > MetaMapper, it's assigned to the mm variable. We can then call findAll > on > > that variable and we have a bunch of Mapper[_] instances. Note that I > > explicitly called out the type of m in the function, but that line could > be > > re-written mm.findAll.map(m => m.asJs) because the compiler infers the > type > > of m. > > > > Does this help? > > > > Thanks, > > > > David > > > > On Thu, Apr 9, 2009 at 3:55 AM, Amit Kumar Verma <cdac.a...@gmail.com > >wrote: > > > > > > > > > > > > > Hi All, > > > > > I am trying to type cast an scala object to its mapper object > > > > > 1 def getJSONString(anyObject :Object):NodeSeq = { > > > > > 2 var obj = anyObject.asInstanceOf[anyObject.getClass > > > ().getName()]; > > > > > 3 obj.findAll.map(userdetails => { > > > // some code will go here > > > } > > > Text("any string") > > > } > > > > > but i am getting erroe as "expected [ but found (" on line 2. > > > > > please help me to typecast the object to its mapper object. > > > > > Thanks > > > Amit Kumar Verma > > > > -- > > Lift, the simply functional web frameworkhttp://liftweb.net > > Beginning Scalahttp://www.apress.com/book/view/1430219890 > > Follow me:http://twitter.com/dpp > > Git some:http://github.com/dpp > > > > -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---