我使用force-rest-api对salesforce进行查询并检索json
回答并生成java对象。
public class SomeObject {
@JsonProperty("field")
private String field;
@JsonProperty("list")
private List<AnotherObject> list;
}
当我清楚地查询字符串时 - 它返回正确的结果。
String requestQuery1 = "SELECT ... ='1111'";
return forceApi.query(requestQuery, clazz); // both field and list have data
但是当添加通配符并使用string format
创建参数化查询时 - 它会返回错误的结果
String requestQuery = "SELECT ... ='%s'";
requestQuery = String.format(query, (Object[]) queryParams); // array of parameters. usually new Object[] { 1111 }.
return forceApi.query(requestQuery, clazz); // field is not null, list is null
我尝试使用
检查字符串assert requestQuery1.equals(requestQuery);
但他们是一样的。当我使用debug手动放置requestQuery
并设置其值
"SELECT ... ='1111'"
工作正常。 但是当我使用格式化时为什么它不起作用?问题是什么?