如何从java对象动态映射json?

如何从java对象动态映射json?,java,json,serialization,java-8,jackson,Java,Json,Serialization,Java 8,Jackson,我们如何将java对象映射到json?Java对象将有一个映射和一些其他字符串属性。我想要的是,当我们将java对象转换为json时,映射键应该是根键,而不是嵌套键 示例Java对象: 类演示{ 字符串名; 字符串名称; 地图属性; } 现在,如果Map的值如下所示: Map attribute=newhashmap(); 属性。放置(“分数”,190); 属性。放置(“状态”、“允许”); 输出应如下所示: { "name":"jack", "designation":"Teste

我们如何将java对象映射到json?Java对象将有一个映射和一些其他字符串属性。我想要的是,当我们将java对象转换为json时,映射键应该是根键,而不是嵌套键

示例Java对象:

类演示{
字符串名;
字符串名称;
地图属性;
}
现在,如果Map的值如下所示:

Map attribute=newhashmap();
属性。放置(“分数”,190);
属性。放置(“状态”、“允许”);
输出应如下所示:

{
  "name":"jack",
  "designation":"Tester",
  "score":190,
  "status":"allowed"
}

如果我没弄错,就用杰克逊。例如:

将Java对象转换为JSON

ObjectMapper mapper=new ObjectMapper();
//Java对象到JSON文件
writeValue(新文件(“c:\\test\\staff.json”)、新staff();
//Java对象到JSON字符串
字符串jsonString=mapper.writeValueAsString(对象);
JSON到Java对象

ObjectMapper mapper=new ObjectMapper();
//JSON文件到Java对象
Staff obj=mapper.readValue(新文件(“c:\\test\\Staff.json”)、Staff.class);
//Java对象的JSON URL
Staff obj=mapper.readValue(新URL(“http://some-domains/api/name.json",职员,班级),;
//Java对象的JSON字符串
Staff obj=mapper.readValue(“{'name':'mkyong'}”,Staff.class);
回购:

Jackson JSON教程:


另一个例子:

你看了吗?@harshvardhan.agr你看对了。。。但在Map的情况下,它不起作用。@NishantVarshney这将进一步帮助您。@NishantVarshney您看过了吗?Jackson我们可以使用,但我想要的是,在Map转换的json中,key应该作为根key,而不是在对象中…@NishantVarshney然后创建另一个反序列化,或者添加一个方法来接收内部对象,并将其属性放入父对象中。创建占位符模型,并根据需要输出对象。