簡體   English   中英

字符串 Object 到 java 中的 Json

[英]String Object to Json in java

我有一個 Strig 變量。 字符串名稱 = "xyz"; 我想將其轉換為 json object {"name": "xyz"}

我目前正在通過將名稱放入 map 並將 map 轉換為 json 來做到這一點。

Map<String, String > map = new HashMap<>();
map.put("name", name);
new Gson().toJson(map);;

有更好的方法嗎?

您可以使用 com.fasterxml.jackson 中的 ObjectMapper 作為

  public static String getString(Object object) {
        try {
            //Object to JSON in String
            return objectMapper.writeValueAsString(object);
        } catch (IOException e) {
            log.error("Exception ", e);
            return "";
        }
    }

您應該創建一個 Class Name 所以它會自動為你創建映射:

示例代碼:

public static void main(String[] args) {

    Name name = new Name();
    name.setName("xyz");
    System.out.println(new Gson().toJson(name));
  }

Output: {“名稱”:“xyz”}

名稱 Class:

public class Name {

  private String name;

  /**
   * @return the name
   */
  public String getName() {
    return name;
  }

  /**
   * @param name
   *          the name to set
   */
  public void setName(String name) {
    this.name = name;
  }

}

如果您有任何復雜的 JSON object,您應該按照@notescrew 的建議創建一個 POJO 來為您保存它。 如果這是一次性的(例如,在一些返回基本狀態信息的 Web 控制器中)並且您至少在 Java 9 上,您可以通過使用內聯 Z1D78DC8ED51224490AE8B511FE 來簡化它

gson.toJson(Map.of("name", name));

請注意,大多數框架(客戶端和服務器)將為您處理序列化為 JSON,因此在大多數情況下,您可以直接傳遞或返回Map

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM