有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用Java在SQL Server中持久化大型JSON字符串

我有一个非常大的JSON字符串,我需要存储在数据中,非常大的意思是超过48000个字符,我使用SQL server将此数据存储在text类型的字段中,然后我尝试将其更改为nvarchar(max),但似乎仍然没有区别

当我在数据库中插入40000个字符后,字符串会被截断。我使用hibernate将数据存储在该特定列中,并将其映射为java.lang.String

下面是我从object转换为jsonobject的代码

public static JSONObject toJSONListWithKey(List<?> object, String key) {
        JSONObject jsonObject = new JSONObject();
        JSONArray jsonArray = new JSONArray();
        Gson gson = new Gson();
        try {
            for (Object object2 : object) {
                jsonArray.put(new JSONObject(gson.toJson(object2)));
        }

            if (null != key || !"".equals(key)) {
                jsonObject.put(key, jsonArray);
            } else {
                jsonObject = new JSONObject(jsonArray.toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return jsonObject;
}

下面是我在数据库中存储它的方式

JSONObject jsonObject = JSONUtils.toJSONListWithKey(reports,"reports");

ins.setReportJson(jsonObject.toString());

instanceDAO.update(ins);

有谁能建议/指导我哪里出了问题,如果这种方法不正确,我应该采取什么措施


共 (0) 个答案