使用DynamoDBItemRequest提取'firstName'对象,我得到的是:
{S:Will,N:(null),B:(null),SS :( ),NS :( ),BS :( ),}
我尝试过提取第一个对象,但它一直给我一个错误。经过一番挖掘后,我意识到DynamoDB没有返回NSString或NSArray对象。有人有运气提取数据集吗? 这是我的代码 -
-(void)tap
{
DynamoDBGetItemRequest *getItemRequest = [[DynamoDBGetItemRequest new] autorelease];
DynamoDBAttributeValue *attributeValue = [[[DynamoDBAttributeValue alloc] initWithN:[NSString stringWithFormat:@"%d", 1]] autorelease];
getItemRequest.tableName = TEST_TABLE_NAME;
getItemRequest.key = [NSMutableDictionary dictionaryWithObject:attributeValue forKey:TEST_TABLE_HASH_KEY];
DynamoDBGetItemResponse *getItemResponse = [[AmazonClientManager ddb] getItem:getItemRequest];
NSMutableDictionary *userPreferences = getItemResponse.item;
NSArray *abc = [userPreferences objectForKey:@"lastName"];
NSLog(@"%@", abc);
}
这是我尝试不断给我错误的代码 - >
// NSString *abb = abc[1];
// NSLog(@"%@", abb);
答案 0 :(得分:0)
在DynamoDB中,属性只能是一种类型(String,Number,Binary,StringSet,NumberSet,BinarySet)。您要打印的对象是“String”类型,其内容为“Will”。如果它像这样打印出来,Dynamo可能会更清晰:
{S:Will}
但是它只是将AttributeValue转换为String,并显示其中的所有其他(空)值:
{S: Will,N: (null),B: (null),SS: ( ),NS: ( ),BS: ( ),}
其他一切都只是噪音;所有重要的是它是一个内容为“Will”的字符串。