On Thu, Mar 4, 2010 at 12:52 PM, Joni Freeman <freeman.j...@gmail.com>wrote:
> Tried it myself and that version does not work. You probably need > nested for-comprehension which parses the JSON: > > I added: implicit def iterableToBox[X](in: Iterable[X]): Box[X] = in.headOption And it makes things hunky dory. Thanks for your help! > 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<liftweb%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/liftweb?hl=en. > > -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://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.