2012-07-16 5 views
1

저는 lift-mongodb-record 2.4를 사용하여 RESTful JSON 웹 서비스 용 MongoRecords를 관리하고 있습니다. 내가 만난 한 가지 문제를 제외하면 모든 것이 잘 작동합니다. Embedded BsonRecordListFields는 자동으로 저장되지 않습니다.Embedded JSON 객체가 fromJSON을 사용하여 BsonRecordListField에 저장되지 않았습니다.

class ControlPoint private() extends BsonRecord[ControlPoint] { 
    def meta = ControlPoint 
    object dx extends DoubleField(this) 
    object dy extends DoubleField(this) 
} 

object ControlPoint extends ControlPoint with BsonMetaRecord[ControlPoint] 

class Artifact private() extends MongoRecord[Artifact] with ObjectIdPk[Artifact] { 
    def meta = Artifact 
    object name extends StringField(this, 1024) 
    object control_points extends BsonRecordListField(this,ControlPoint) 
} 
object Artifact extends Artifact with MongoMetaRecord[Artifact] {} 

이유입니다 :

{"name":"test","control_points":[{"dx":64,"dy":97},{"dx":358,"dy":64},{"dx":211,"dy":80.5}]} 

그러나 인쇄 println(Artifact.fromJSON(request.body).get)을 통해 모델 만

class com.test.model.Artifact={name=test, control_points=} 

이 내 모델 클래스입니다 인쇄됩니다 :

내 테스트 JSON입니다 임베디드 물건은 저장되지 않습니까? 내가 여기서 아무것도 못보고 있니?

감사합니다. Martin

답변

1

지적한대로 lift mailing list lift-json은 소수점이 없기 때문에 int로 분석합니다. 방금 필드를 IntField으로 변경하고 모든 날짜를 클라이언트 측의 parseInt을 통해 정수로 구문 분석했습니다.

관련 문제