我无法将JsonArray发送到UpdateItemRequest的SetExpressionAttributeValues()以便能够传递给DynamoDBClient.updateItem()方法
下面是JsonArray,我想将其传递给updateItemRequest的SetExpressionAttributeValues()方法。
[{"ID":"T1","Result":1},{"ID":"T2","Result":0}]
我该怎么办?
我尝试使用以下方式,
UpdateItemRequest updateItemRequest = new UpdateItemRequest();
updateItemRequest.setTableName(DYNAMODB_TABLE);
updateItemRequest.withKey(keyMap);
Map attributeNameData = new HashMap<String,AttributeValue>();
attributeNameData.put("#c",new AttributeValue().withS("list1"));
updateItemRequest.withExpressionAttributeNames(attributeNameData);
updateItemRequest.withUpdateExpression("SET #c = list_append(#c, :vals)");
Map expressionAttributeValue = new HashMap<String,AttributeValue>();
expressionAttributeValue.put(":vals",new AttributeValue().withS(jsonOutput));
updateItemRequest.setExpressionAttributeValues(expressionAttributeValue);
但是它的给出错误为,
com.amazonaws.AmazonClientException: Unable to marshall request to JSON: java.lang.String cannot be cast to com.amazonaws.services.dynamodbv2.model.AttributeValue
我是Amazon Dynamo DB的新手,并且正在使用AWS Mobile SDK,但是在AWS文档中找不到任何有用的东西,有人可以帮助我吗?
谢谢!