繁体   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