包含特殊字符的aws dynamodb查询属性值?

aws dynamodb query attribute value that contains special character?

属性itemJson存储如下

 "itemJson": {
    "S": "{\"sold\":\"3\",\"listingTime\":\"20210107211621\",\"listCountry\":\"US\",\"sellerCountry\":\"US\",\"currentPrice\":\"44.86\",\"updateTime\":\"20210302092220\",\"itemLocation\":\"Miami,FL,USA\",\"listType\":\"FixedPrice\",\"categoryName\":\"Machines\",\"itemID\":\"293945109477\",\"sellerID\":\"holiday_for_you\",\"s3Key\":\"US/2021/2/FixedPrice/293945109477.json\",\"visitCount\":\"171\",\"createTime\":\"20210201233158\",\"listingStatus\":\"Completed\",\"endTime\":\"2021-02-28T20:22:57\",\"currencyID\":\"USD\"}"
  },

我想用 filter:contains(itemJson, "sold":"0") 和 java sdk 查询,我试过这些语法,都失败了

expressionValues.put(":v2", AttributeValue.builder().s("\\"sold\\":\\"0\\"").build());
expressionValues.put(":v2", AttributeValue.builder().s("sold:0"").build());

我的过滤器语法的正确方法是什么?

我在 dynamodb web console 上尝试@Balu Vyamajala 的语法如下,还没有得到解决方案

contains (itemJson, :subValue) 的值为 "sold\":\"3\"" 似乎有效。

查询的工作示例 Api 并按预期工作:

QuerySpec querySpec = new QuerySpec()
.withKeyConditionExpression("pk = :v_pk")               
.withFilterExpression("contains (itemJson, :subValue)")
.withValueMap(new ValueMap().withString(":v_pk", "6").withString(":subValue", "sold\":\"3\""));

要从 Aws 控制台进行测试,我们只需输入 "sold":"2"