Membangun dokumen yang disempurnakan - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membangun dokumen yang disempurnakan

An EnhancedDocument merupakan objek tipe dokumen yang memiliki struktur kompleks dengan atribut bersarang. Sebuah EnhancedDocument membutuhkan atribut tingkat atas yang cocok dengan atribut kunci utama yang ditentukan untuk atribut. DocumentTableSchema Konten yang tersisa bersifat arbitrer dan dapat terdiri dari atribut tingkat atas dan juga atribut yang sangat bersarang.

Anda membuat EnhancedDocument instance dengan menggunakan builder yang menyediakan beberapa cara untuk menambahkan elemen.

Membangun dari string JSON

Dengan string JSON, Anda dapat membangun panggilan EnhancedDocument dalam satu metode. Cuplikan berikut membuat EnhancedDocument dari string JSON dikembalikan oleh metode helper. jsonPerson() jsonPerson()Metode mengembalikan versi string JSON dari objek orang yang ditunjukkan sebelumnya.

EnhancedDocument document = EnhancedDocument.builder() .json( jsonPerson() ) .build());

Membangun dari elemen individu

Atau, Anda dapat membangun sebuah EnhancedDocument instance dari komponen individual menggunakan metode type-safe dari builder.

Contoh berikut membangun dokumen yang person disempurnakan mirip dengan dokumen yang disempurnakan yang dibangun dari string JSON pada contoh sebelumnya.

/* Define the shape of an address map whose JSON representation looks like the following. Use 'addressMapEnhancedType' in the following EnhancedDocument.builder() to simplify the code. "home": { "zipCode": "00000", "city": "Any Town", "state": "FL", "street": "123 Any Street" }*/ EnhancedType<Map<String, String>> addressMapEnhancedType = EnhancedType.mapOf(EnhancedType.of(String.class), EnhancedType.of(String.class)); // Use the builder's typesafe methods to add elements to the enhanced document. EnhancedDocument personDocument = EnhancedDocument.builder() .putNumber("id", 50) .putString("firstName", "Shirley") .putString("lastName", "Rodriguez") .putNumber("age", 53) .putNull("nullAttribute") .putJson("phoneNumbers", phoneNumbersJSONString()) /* Add the map of addresses whose JSON representation looks like the following. { "home": { "zipCode": "00000", "city": "Any Town", "state": "FL", "street": "123 Any Street" } } */ .putMap("addresses", getAddresses(), EnhancedType.of(String.class), addressMapEnhancedType) .putList("hobbies", List.of("Theater", "Golf"), EnhancedType.of(String.class)) .build();
private static String phoneNumbersJSONString() { return " [" + " {" + " \"type\": \"Home\"," + " \"number\": \"555-0140\"" + " }," + " {" + " \"type\": \"Work\"," + " \"number\": \"555-0155\"" + " }" + " ]"; } private static Map<String, Map<String, String>> getAddresses() { return Map.of( "home", Map.of( "zipCode", "00002", "city", "Any Town", "state", "ME", "street", "123 Any Street")); }