例如,我有一个json数组,如:
[
{
color: "red",
value: "#f00"
},
{
color: "blue",
value: "#00f"
},
{
color: "cyan",
value: "#0ff"
}]
似乎dynamoDB的建议是在数组中添加“键名”。
[
color1: {
color: "red",
value: "#f00"
},
color2: {
color: "blue",
value: "#00f"
},
color3: {
color: "cyan",
value: "#0ff"
}]
有没有不同的方法将json数组添加到DynamoDB中?
答案 0 :(得分:2)
首先澄清几点:
DynamoDB本身支持List数据类型。检查here。
如果您在Java中使用DynamoDBMapper库,则可以执行以下操作:
@DynamoDBTable(tableName="...")
public class ... { // POJO
private List<Color> colors;
... // Getters and setters
@DynamoDBDocument
public static class Color {
private String name;
private String value;
... // Getters and setters
}
}
答案 1 :(得分:1)
如果您使用的是AWS-SDK Java,则可以对复杂对象进行编组,以将其作为JSON存储在DynamoDB中。有关详细信息,请参阅以下博客。具体来说,我指的是: -
@DynamoDBMarshalling (marshallerClass = PhoneNumberMarshaller.class)
class PhoneNumberJSONMarshaller extends JsonMarshaller<PhoneNumber>
{ }