我想將整個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