<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Gson `@SerializedName` > 原文: [https://howtodoinjava.com/gson/gson-serializedname/](https://howtodoinjava.com/gson/gson-serializedname/) 在此 Gson `@SerializedName`示例中,學習在[序列化](https://howtodoinjava.com/java/serialization/a-mini-guide-for-implementing-serializable-interface-in-java/)和[反序列化](https://howtodoinjava.com/java/serialization/how-deserialization-process-happen-in-java/)過程中,如何更改 json 和 java 對象之間的字段名稱。 ## 1\. `@SerializedName` 默認情況下,我們假設 Java 模型類和 JSON 將具有完全相同的字段名稱。 但有時情況并非如此,某些名稱有所不同。 現在我們必須將 json 中的`someName`映射到 Java 類中的`someOtherName`。 這是[`@SerializedName`](https://static.javadoc.io/com.google.code.gson/gson/2.8.5/com/google/gson/annotations/SerializedName.html)注解提供幫助的地方。 `@SerializedName`注解指示應將帶注解的成員序列化為 JSON,并使用提供的名稱值作為其字段名稱。 此注解將覆蓋可能已經使用`GsonBuilder`類的所有[`FieldNamingPolicy`](https://static.javadoc.io/com.google.code.gson/gson/2.8.5/com/google/gson/FieldNamingPolicy.html),包括默認字段命名策略。 請注意,您在此注解中指定的值必須是有效的 JSON 字段名稱。 #### 1.1 注解屬性 它接受兩個屬性: * `value` – 序列化或反序列化時所需的字段名稱。 * `alternate` – 反序列化字段時的備用名稱。 除了`value`屬性以外,它還提供更多可能的名稱。 如果有多個字段匹配一個屬性,則 Gson 將使用最后處理的那個。 > 請記住,具有多個名稱的`alternate`選項僅限于反序列化。 在序列化中,不會有任何影響。 ## 2.在序列化期間更改字段名稱 讓我們以僅具有 4 個字段的`Employee`類為例。 我們要創建 JSON,其中`"email"`被寫為字段名`"emailId"`。 ```java public class Employee { private Integer id; private String firstName; private String lastName; @SerializedName(value = "emailId", alternate = "emailAddress") private String email; } ``` 讓我們序列化一個員工記錄并查看 JSON 輸出。 ```java Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com"); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println(gson.toJson(emp)); ``` 程序輸出。 ```java { "id": 1001, "firstName": "Lokesh", "lastName": "Gupta", "emailId": "howtodoinjava@gmail.com" } ``` ## 3.在反序列化期間更改字段名稱 Java 程序,用于在將 JSON 反序列化為 Java 類的過程中映射不同的字段名稱。 ```java { "id": 1001, "firstName": "Lokesh", "lastName": "Gupta", "email": "howtodoinjava@gmail.com", "emailAddress": "admin@gmail.com" } ``` ```java String json = "{'id': 1001," + "'firstName': 'Lokesh'," + "'lastName': 'Gupta'," + "'email': 'howtodoinjava@gmail.com'," + "'emailAddress': 'admin@gmail.com'}"; Gson gson = new GsonBuilder().setPrettyPrinting().create(); Employee emp = gson.fromJson(json, Employee.class); System.out.println(emp); ``` 程序輸出: ```java Employee [id=1001, firstName=Lokesh, lastName=Gupta, email=admin@gmail.com] ``` 注意程序輸出。 我們在*電子郵件*字段(即`email`和`emailAddress`)中有兩個匹配項。 最后一次出現是`"emailAddress"`,因此它的值已填充到`Employee`對象中。 讓我問一下有關**使用 Gson `@SerializedName`注解將多個不同名稱映射到 Java 類**中的成員字段的問題。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看