如何解决CASS_ERROR_SERVER_INVALID_QUERY:无法将 JSON 字符串解码为地图:org.codehaus.jackson.JsonParseException:意外字符'?'
我正在尝试使用 json 插入到 cassandra 表。 我尝试了一个静态插入语句,它奏效了。但是当我尝试使用“?”进行绑定时它产生了以下错误/
#define NEW_INSERT_STMT "INSERT INTO test_user_record JSON '{\"user_id\":120,\"first_name\":\"?\",\"last_name\":\"?\",\"company\":\"?\"}'"
Error:
File: CassLg2meta.c
Function: prepare_cass_user_record_table_Insert
Line: 125
Message: CASS_ERROR_SERVER_INVALID_QUERY:Could not decode JSON string as a map: org.codehaus.jackson.JsonParseException: Unexpected character ('?' (code 63)): expected a valid value (number,String,array,object,'true','false' or 'null')
at [Source: java.io.StringReader@2c37ff3; line: 1,column: 30]. (String was: {"user_id":120,"first_name":?,"last_name":"?","company":"?"})
如何使用 json 绑定变量?
绑定参数:https://docs.datastax.com/en/developer/cpp-driver/2.16/topics/basics/binding_parameters/
解决方法
你不能这样做 - JSON 参数被视为一个完整的字符串,占位符在其中不起作用。
但是这里真的不需要用JSON,用普通的INSERT statement就可以了(我觉得还需要绑定user_id
):
INSERT INTO test_user_record (user_id,first_name,last_name,company)
VALUES (120,?,?)
然后准备并将值绑定到它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。