java - 使用 Java,接收 Json 消息,找到字段的子集,检查所述字段,然后映射到新的 Code 值并导出为 Json

标签 java json coding-style mapping

好吧,我是在 Java 中使用 Json 的新手,这就是我想要做的事情。

使用 Java,我正在接收 Json 消息,例如:

{ 
    "toy": [
        {
             "color":"red",
             "age":"2-4",
             "type": {
                 "format":"electronic",
                 "batteries":"Y"
             },
             "price":"$50"
        }
     ]
}

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

要求1

字段:颜色

映射到:颜色

领域:电池

映射到:需要电池吗?

所以输出将是:

{ 
    "Toy": [
        {
            "Colour":"red",
            "Batteries Required?":"Y"
        }
    ]
}

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

我想知道最干净、最有效的方法是什么。 Java中的Json中已经存在这种东西了吗?

最佳答案

你可以尝试一下jmom 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("  ");

关于java - 使用 Java,接收 Json 消息,找到字段的子集,检查所述字段,然后映射到新的 Code 值并导出为 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47716846/

相关文章:

PHP:动态分配一个空对象给stdClass

java - 如何修复“UnsatisfiedLinkError”

java - 在 Java 中检测 3D 第一人称世界的鼠标移动

c# - 在 C#.net 应用程序中将数据存储在本地的最佳方式是什么?

c++ - 为什么 Mozilla 开发人员指南更喜欢 if (ptr) 而不是 if (ptr != nsnull)?

coding-style - 为什么会有这么多缩进不良的代码?

c# - 记录代码更改

java - 如何防止 cxf-codegen-plugin 为所有 wsdl 文件生成源

java - 如何从年月日中获取日期对象?

java - @JsonInclude(Include.NON_NULL) 不工作/ jackson 序列化空值