我有一个JSF应用程序,用于向/从Oracle DB存储/检索数据。应用非常简单。我使用Gson(来自谷歌)API将String类型数据转换为JSON格式到DB中的表。
当我检查表中的存储数据时,我期望“{”和“}”开始和结束但我没有看到它而是数据用双引号包装。这是对的吗?
这是一个例子。
从UI(.xhtml)有一个inputText字段来捕获数据。数据是JPA实体模型的一部分(属性),该模型持久保存到DB。
(foo = foo)
gson.toJson(variable_that_holds_above_value);
从数据库查询数据后,数据存储为...包含以下数据的列是clob类型。
"(foo \u003d foo)"
“=”被编码为“\ u003d”b / c我没有使用disableHtmlEscaping()。
[更新]
我意识到gson.toJson()会做它应该做的但是我想要/期望的是“{”keyName“:”foo = foo“}。我天真地认为只是为toJson()提供一个字符串就可以做到我。
我决定改用JsonObject。阅读此How to convert a String to JsonObject using gson library帮助了我。
JsonObject jb = new JsonObject();
jb.addProperty("keyName","foo=foo");