我想将整个json对象插入到mysql表中。我使用json来对象转换器将json转换成HashMap。 JSON是这样的:
{
"content": {
"fill": "none",
"stroke": "#fff",
"path": [
["M", 422, 115],
["L", 472, 167.5]
],
"stroke-width": 4,
"stroke-linecap": "round",
"stroke-linejoin": "round",
"transform": [],
"type": "path",
"note": {
"id": 47,
"page":0,
"ref": 3,
"txt": "teste do serviço",
"addedAt": 1418133743604,
"addedBy": "valter.gomes"
}
}
}
我需要插入“内容”的对象,但是当我试图访问它通过#[payload.content]
,threws一个例外:
Root Exception stack trace:
java.sql.SQLException: Incorrect string value: '\xAC\xED\x00\x05sr...' for column 'content' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
我们发现什么,我认为是一个解决办法。在转换成HashMap之前,我将“content”对象放入一个变量#[json:content]
中,并将其记录在DB #[flowVars.rawContent]
中。当我从数据库中检索它时,我使用Object to String转换器将ResultSet转换为String。
但是,我不适合这个解决方案。这是否正确吗?或者确实存在其他的?也许是正确的。
Tks很多为您的帮助。
TksEddúfor replay ..我试了一下并很好地工作..我正在接收该异常,因为在mysql中的字段类型。为了解决这个问题,我将数据库改为了postgresql,它支持json类型。 – 2015-02-13 00:11:10
不投票,因为缺乏我的名誉 – 2015-02-13 00:26:25
这不是关于声誉,这是关于是有用的,并帮助你解决你的答案http://stackoverflow.com/help/accepted-answer – 2015-02-13 03:49:17