如何将google JsonObject字段保存到dynamoDB中?

时间:2016-07-29 18:43:00

标签: java amazon-web-services gson amazon-dynamodb jsonobject

我有如下的json请求。

{  
 "color":"red",
 "type":"publish",
 "events":{  
   "some":"Yes",
   "collection":[  
      {  
         "key1":"value1",
         "key2":"value2"
     },
     {  
        "key3":"value3",
        "key4":"value4"
     }
   ],
   "nestedObject":{  
      "key5":"value5",
      "key6":"value6"
    }
  }

}

我创建了POJO类,颜色为String,类型为字符串,事件为JsonObject。事件值字段可以是json格式的任何值。所以我创建了它作为JsonObject。我的问题是如何将事件存储到数据库中。对于dynamo,我们可以使用@DynamoDBDocument注释将其他对象编组为当前POJO。现在我无法使用,因为我们必须给课程注释以进行编组。在这种情况下,JsonObject超出了我的注释范围。有没有其他方法将JsonObject存储到dynamo中?

1 个答案:

答案 0 :(得分:0)

您需要使用WithJSON方法来保存字符串表示

String jsonDoc = json.toString();
Item item = new Item()
    .withPrimaryKey("pid", "Test")
    .withJSON("doc", jsonDoc);

table.putItem(item);

您还可以参考以下AWS文档: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/JavaDocumentAPIItemCRUD.html#PutDocumentAPIJava