[英]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.