Hello guys,
I am having a very strange error parsing JSON messages. Everything was working
perfect until I introduce a new array in the message. It supposed to be a very
small change, but the system seems to be parsing java data types instead of
scala data types.
This is the error message:
net.liftweb.json.MappingException: Parsed JSON values do not match with class
constructor
args=129567,248,1,1,0,0, String
arg
types=java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,scala.BigInt,scala.BigInt,java.lang.String
constructor=public
com.tribes.ga.api.FeedAPI$FilterLogging$2(long,long,long,long,float,float,java.lang.String)
I do not know how to solve this. There is another array in the same structure
that works just fine.
This is the JSON message coming into the API:
{"lastSync":"Thursday, February11,2010",
"tribeId":1,
"filterLogging":[{"passMarkApplied":0,"thresholdApplied":0,"entryId":129567,"evaluationDescription":"String","objectFiltered":1,"filterApplied":1,"sourceId":248}],
"history":7,
"deviceId":1036,
"source":248,
"showNews":true,
"userId":1049,
"syncFlag":false,
"showNewsChanged":false,
"updatedFeeds":[]}
The error is with the array "filter". I am parsing it with the following code
(this is an extraction of the entire definition):
case class FilterLogging(entryId: Long,
sourceId: Long,
objectFiltered: Long,
filterApplied: Long,
passMarkApplied: Float,
thresholdApplied: Float,
evaluationDescription: String
)
case class UpdatedSource(userId: Long,
deviceId: Long,
tribeId: Long,
syncFlag: Boolean,
lastSync: String,
history: Int,
source: Long,
updatedFeeds: List[UpdatedFeeds],
filterLogging: List[FilterLogging]
)
val json = parse(req.body.map(bytes => new String(bytes, "UTF-8"))
openOr "")
val request: UpdatedSource = json.extract[UpdatedSource]
Any ideas?
Thanks in advance,
GA
--
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.