Tried it myself and that version does not work. You probably need nested for-comprehension which parses the JSON:
for { user <- WorkerMgr.find(UserId(user)) ?~ "User not found" json <- r.json data <- Box(for { JField("messageId", JInt(messageId)) <- json JField("timestamp", JInt(timemillis)) <- json } yield (messageId, timemillis)) } yield ... Cheers Joni On Mar 4, 9:55 pm, Joni Freeman <freeman.j...@gmail.com> wrote: > Hi David, > > Does this work? > > for { > user <- WorkerMgr.find(UserId(user)) ?~ "User not found" > json <- r.json > JField("messageId", JInt(messageId)) <- json > JField("timestamp", JInt(timemillis)) <- json > } yield .. > > Cheers Joni > > On Mar 4, 9:28 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote: > > > Folks, > > > I'm working on parsing through some JSON that's posted/put as part of a > > request. I'd like to find the messageId field and only get it if its type > > is JInt. I'm doing this within a for comprehension that has a Box at the > > top of it, so the resulting expression must play well with Box. What I've > > got is: > > > for { > > user <- WorkerMgr.find(UserId(user)) ?~ "User not found" > > json <- r.json > > (_, messageJson) <- (json \ classOf[JField]).find(_._1 == > > "messageId") > > messageId <- Box.asA[JInt](messageJson) > > (_, timemillisJson) <- (json \ classOf[JField]).find(_._1 == > > "timestamp") > > timemillis <- Box.asA[JInt](timemillisJson) > > } yield ... > > > The lines that look for messageId and timestamp and insure they are JInts > > are kinda verbose. Is there a better way to do what I'm trying to do? > > > Thanks, > > > David > > > -- > > Lift, the simply functional web frameworkhttp://liftweb.net > > Beginning Scalahttp://www.apress.com/book/view/1430219890 > > Follow me:http://twitter.com/dpp > > Surf the harmonics > > -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to lift...@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.