我是Liftweb的新手。我想使用Lift Mapper将Json文件存储在Mysql数据库中
我的Json文件如下: -
[
{
"name": "Root Category",
"Id": "1",
"dispName": "",
"childs": [
{
"name": "Sub Category",
"Id": "",
"dispName": "",
"childs": [
{
"name": "Spec1",
"Id": "",
"dispName": "",
"childs": []
}
]
}
]
},
{
"name": "Root Category",
"Id": "",
"dispName": "",
"childs": [
{
"name": "Sub Category",
"Id": "",
"dispName": "",
"childs": [
{
"name": "Spec1",
"Id": "",
"dispName": "",
"childs": []
}
]
}
]
}
]
是否可以在Lift Mapper中存储Json文件。请给我建议。如果有人提供任何样本
会很棒最好的问候
GSY
答案 0 :(得分:0)
目前还没有很好的支持在MySQL中存储JSON。我的意思是它不会提供例如MongoDB提供的功能。但是,如果需要,社区可以提供一些JSON处理功能。鉴于所有这些,您可以将其存储在VARCHAR
中。 TEXT
或BLOB
字段类型为简单文本。这是一个Mapper示例:
import net.liftweb.mapper._
import net.liftweb.common._
class SomeDbClass extends LongKeyedMapper[SomeDbClass] with IdPK {
def getSingleton = SomeDbClass
// set limit of chars - can be used in `validate()`
object quota_type extends MappedString(this, 1024)
}
object SomeDbClass extends SomeDbClass with LongKeyedMetaMapper[SomeDbClass]
对于我的一个项目,我将JSON作为字符串存储在Postgres中,因为我只需要读取和写入它,而无需在数据库中按字母解析它。每当我需要具有查询和更新支持的高效JSON存储时,我就会将MongoDB与Record +(Casbah或Rogue)一起使用。