首页 > 解决方案 > 如何在 Java 中计算以下 JSON 值 UOM Wise 的总值

问题描述

如何在 Java 中计算以下 JSON 值 UOM Wise 的总值?

顺序可以变化。我们不能期望 uoms 的数量和结果的顺序。

我创建了哈希集并制作了独特的 uom。

{
    value=100
    uom=kg
},
{
    value=200
    uom=kg
},
{
    value=100
    uom=lt
},
{
    value=100
    uom=ab
},
{
    value=100
    uom=lt
}

请提供一些代码参考

标签: javaspring-bootdata-structures

解决方案


  1. 这不是有效的 JSON,因为它使用 = 作为键\值分隔符(更改为类似的内容并使用 JSONLint 等工具进行验证):

    [{
            "value": "100",
            "uom": "kg"
        }, {
            "value": "200",
            "uom": "kg"
        }, {
            "value": "100",
            "uom": "lt"
        }, {
            "value": "100",
            "uom": "ab"
        }, {
            "value": "100",
            "uom": "lt"
        }
    ]
    
  2. 即使具有这种结构,您也可以将其解析为一组 touples (value, uom),然后将具有相同 uom 的所有内容相加 例如,您可以使用以下命令:

    javax.json.JsonArray body = Json.createReader(new StringReader(YOUR_JSON_STRING)).readArray();
    

    并将 JSON 读取到 touples 数组


推荐阅读