好吧,我是在Java中使用Json的新手,下面是我想做的事情。
使用Java,我将接收Json消息,如下所示:
{
"toy": [
{
"color":"red",
"age":"2-4",
"type": {
"format":"electronic",
"batteries":"Y"
},
"price":"$50"
}
]
}现在,假设我在上面的字段中有几个具有不同的值。我想获取消息,并根据某些要求提取字段,这将需要某些字段映射到新字段。例如:
Requirement1
字段:颜色
地图到:彩色
领域:电池
地图:需要电池吗?
因此,产出如下:
{
"Toy": [
{
"Colour":"red",
"Batteries Required?":"Y"
}
]
}然后假设可能有其他要求,需要不同的字段或字段的组合,或者字段的转换(如货币转换)。
我想知道最干净和最有效的方法是什么。Java内部的Json中是否已经存在这样的东西?
发布于 2017-12-08 16:51:03
您可以使用Jolt来转换Json对象,就像XSLT:https://github.com/bazaarvoice/jolt一样。使用这个库,您可以定义一个“转换规则”,它读取输入并根据规则生成一个json。
另一种选择是Json路径,它允许您在json对象中找到元素,比如xpath:https://github.com/json-path/JsonPath中的元素。
发布于 2019-11-23 19:32:22
您可以尝试使用小杰玛 java库。
JsonValue json = JsonParser.parse(stringvariablewithjsoninside);
Jmom littlemom = Jmom.instance()
.copy("/color", "/Colour", true)
.copy("/type/batteries", "/Batteries Required?", true)
.remove("/type", "/age", "/price")
;
Jmom mom = Jmom.instance()
.copy("/toy", "/Toy", true)
.apply(littlemom, "/Toy/*")
;
mom.apply(json);
String str = json.toPrettyString(" ");https://stackoverflow.com/questions/47716846
复制相似问题