Java json流解析器,用于将json作为InputStream写入数据库

时间:2019-07-11 17:25:08

标签: java json inputstream

我有一个rest API,可以使用PreparedStatement将帖子正文的InputStream直接写到数据库中,如下所示:

    public void store(String id, InputStream body) throws SQLException, SPSException {

    if(id == null || id.length() == 0)
        throw new SPSException("get: id is missing: " + id);

    Connection conn = null;
    PreparedStatement ps = null;

    try {
        conn = getConnection();
        Parameters parameters = Parameters.parse("insert into properties (id, body) values (?,?)");

        ps = conn.prepareStatement( parameters.getSQL() );
        ps.setString(1, id );
        ps.setBlob(2, body);
        ps.executeUpdate();

        conn.commit();

    } finally {
        close( ps );
        close( conn );
    }
}

setBlob调用采用InputStream。有没有一种方法可以用jsonParser InputStream包装此inputStream?这样,如果json无法解析,则会引发异常?

如果不需要,我不需要自己编写或重建流,但是我找不到任何可用的方法来满足此需要,而这需要大量额外的代码。

注意-我无法将对象完整地读取到内存中。它必须是流解决方案。

0 个答案:

没有答案