2011-05-17 52 views
0

使用Lift的json解析器,如何将解析的json对象输出到模板中?将解析的JSON输出到模板中

net.liftweb.json.JsonParser提供的数据类型不是 标准列表。

package rem.lift_client 
package snippet 
import net.liftweb._ 

import util._ 
import Helpers._ 
import net.liftweb.json.JsonParser._ 

class SearchResults { 

    def render() = { 
    val json_raw = "[ {\"userName\":\"John\"}, {\"userName\":\"Michael\"} ]" 
    val json_parsed = parse(input) 
    "li *" #> json_parsed.toString <---- NOT CORRECT 
    } 
} 

在上面的例子,我想输出作为用户的列表:

  • 约翰
  • 迈克尔
  • 如何解读解析对象?欢迎任何想法,谢谢。

    注意:除了接受的答案,lift-json在这个问题上有一个很好的documentation

    回答

    1

    一种方法是提取案例类的数据。

    implicit val formats = DefaultFormats 
    case class User(userName: String) 
    json_parsed.extract[List[User]] 
    
    +0

    什么是DefaultFormats? – drozzy 2011-05-17 13:12:10

    +0

    它用于配置提取。例如日期格式,自定义序列化器等。在这个简单的例子中,默认就好。 – Joni 2011-05-17 13:13:26

    +0

    顺便说一句。 “格式”的推荐位置是一个包对象。然后应用程序的其余部分得到没有任何样板的相同配置。 – Joni 2011-05-17 13:14:42