首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java,获取Json消息,查找字段子集,检查所述字段,然后映射到新代码值并导出为Json

使用Java,获取Json消息,查找字段子集,检查所述字段,然后映射到新代码值并导出为Json
EN

Stack Overflow用户
提问于 2017-12-08 14:57:13
回答 2查看 175关注 0票数 0

好吧,我是在Java中使用Json的新手,下面是我想做的事情。

使用Java,我将接收Json消息,如下所示:

代码语言:javascript
复制
{ 
    "toy": [
        {
             "color":"red",
             "age":"2-4",
             "type": {
                 "format":"electronic",
                 "batteries":"Y"
             },
             "price":"$50"
        }
     ]
}

现在,假设我在上面的字段中有几个具有不同的值。我想获取消息,并根据某些要求提取字段,这将需要某些字段映射到新字段。例如:

Requirement1

字段:颜色

地图到:彩色

领域:电池

地图:需要电池吗?

因此,产出如下:

代码语言:javascript
复制
{ 
    "Toy": [
        {
            "Colour":"red",
            "Batteries Required?":"Y"
        }
    ]
}

然后假设可能有其他要求,需要不同的字段或字段的组合,或者字段的转换(如货币转换)。

我想知道最干净和最有效的方法是什么。Java内部的Json中是否已经存在这样的东西?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-08 16:51:03

您可以使用Jolt来转换Json对象,就像XSLT:https://github.com/bazaarvoice/jolt一样。使用这个库,您可以定义一个“转换规则”,它读取输入并根据规则生成一个json。

另一种选择是Json路径,它允许您在json对象中找到元素,比如xpath:https://github.com/json-path/JsonPath中的元素。

票数 0
EN

Stack Overflow用户

发布于 2019-11-23 19:32:22

您可以尝试使用小杰玛 java库。

代码语言:javascript
复制
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("  ");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47716846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档