沐雨橙风_大唐 2021-03-12 19:50 采纳率: 0%
浏览 28

求java8的语法进来对json数组优化

例子数据结构

{
    "categories":[
        "苹果",
        "三星",
        "小米",
        "oppo",
        "vivo"
    ],
    "series":[
        {
            "name":"手机品牌",
            "data":[
                1000879,
                3400879,
                2300879,
                5400879,
                3400879
            ]
        }
    ]
}

源数据 

public static void main(String[] args) {
		String str = "{\"id\":168,\"userId\":\"1\",\"name\":\"设备时间统计\",\"categoryName\":\"数据可视化\",\"userName\":null,\"loginName\":null,\"data\":\"{\\\"datasetId\\\":52,\\\"config\\\":{\\\"valueAxis\\\":\\\"vertical\\\",\\\"chart_type\\\":\\\"line\\\",\\\"keys\\\":[{\\\"col\\\":\\\"上线时间\\\",\\\"values\\\":[],\\\"sort\\\":\\\"asc\\\",\\\"id\\\":\\\"4393708c-f628-47fe-b4db-b7f762b902d7\\\",\\\"type\\\":\\\"eq\\\"}],\\\"values\\\":[{\\\"name\\\":\\\"\\\",\\\"series_type\\\":\\\"stackbar\\\",\\\"type\\\":\\\"value\\\",\\\"cols\\\":[{\\\"col\\\":\\\"id\\\",\\\"alias\\\":\\\"数量\\\",\\\"aggregate_type\\\":\\\"count\\\"}]}],\\\"groups\\\":[{\\\"col\\\":\\\"cname\\\",\\\"values\\\":[],\\\"alias\\\":\\\"设备名称\\\",\\\"sort\\\":\\\"asc\\\",\\\"id\\\":\\\"1732b709-cabe-4390-aaed-65c3d74924e5\\\",\\\"type\\\":\\\"eq\\\"}],\\\"filters\\\":[],\\\"coordinateSystem\\\":\\\"cartesian2d\\\",\\\"option\\\":{}},\\\"expressions\\\":[],\\\"filterGroups\\\":[{\\\"filters\\\":[{\\\"col\\\":\\\"上线时间\\\",\\\"values\\\":[\\\"2020-07\\\",\\\"2020-08\\\",\\\"2020-09\\\",\\\"2020-10\\\",\\\"2020-11\\\",\\\"2020-12\\\"],\\\"type\\\":\\\"=\\\"}],\\\"id\\\":\\\"5c57ae8c-2973-4826-809f-61009c5e3570\\\",\\\"group\\\":\\\"2020年下半年\\\"}]}\",\"permission\":null,\"createTime\":1608591619000,\"updateTime\":1615535051000,\"widgetSql\":\"SELECT cname,上线时间,COUNT(id) as '数量' FROM  (select *,DATE_FORMAT(create_date,'%Y-%m') '上线时间' from dv_stat_equipment) cb_view    GROUP BY cname, 上线时间\"}\n";
		String str2 = "[{\"上线时间\":\"2020-01\",\"数量\":12,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-02\",\"数量\":46,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-03\",\"数量\":34,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-04\",\"数量\":39,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-05\",\"数量\":38,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-06\",\"数量\":33,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-07\",\"数量\":34,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-08\",\"数量\":35,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-09\",\"数量\":35,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-10\",\"数量\":47,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-11\",\"数量\":47,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-12\",\"数量\":37,\"cname\":\"位移传感\"},{\"上线时间\":\"2020-01\",\"数量\":8,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-02\",\"数量\":37,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-03\",\"数量\":41,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-04\",\"数量\":36,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-05\",\"数量\":44,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-06\",\"数量\":31,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-07\",\"数量\":36,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-08\",\"数量\":42,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-09\",\"数量\":38,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-10\",\"数量\":46,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-11\",\"数量\":25,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-12\",\"数量\":41,\"cname\":\"压力传感\"},{\"上线时间\":\"2020-01\",\"数量\":14,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-02\",\"数量\":29,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-03\",\"数量\":39,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-04\",\"数量\":45,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-05\",\"数量\":43,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-06\",\"数量\":36,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-07\",\"数量\":31,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-08\",\"数量\":23,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-09\",\"数量\":58,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-10\",\"数量\":40,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-11\",\"数量\":45,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-12\",\"数量\":49,\"cname\":\"图像传感\"},{\"上线时间\":\"2020-01\",\"数量\":13,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-02\",\"数量\":33,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-03\",\"数量\":43,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-04\",\"数量\":34,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-05\",\"数量\":51,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-06\",\"数量\":25,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-07\",\"数量\":46,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-08\",\"数量\":46,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-09\",\"数量\":43,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-10\",\"数量\":38,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-11\",\"数量\":32,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-12\",\"数量\":50,\"cname\":\"声音传感\"},{\"上线时间\":\"2020-01\",\"数量\":14,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-02\",\"数量\":28,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-03\",\"数量\":38,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-04\",\"数量\":42,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-05\",\"数量\":38,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-06\",\"数量\":29,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-07\",\"数量\":53,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-08\",\"数量\":41,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-09\",\"数量\":50,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-10\",\"数量\":42,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-11\",\"数量\":34,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-12\",\"数量\":48,\"cname\":\"射频传感\"},{\"上线时间\":\"2020-01\",\"数量\":14,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-02\",\"数量\":30,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-03\",\"数量\":52,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-04\",\"数量\":36,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-05\",\"数量\":45,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-06\",\"数量\":25,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-07\",\"数量\":42,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-08\",\"数量\":47,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-09\",\"数量\":40,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-10\",\"数量\":42,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-11\",\"数量\":40,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-12\",\"数量\":40,\"cname\":\"惯性传感\"},{\"上线时间\":\"2020-01\",\"数量\":17,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-02\",\"数量\":39,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-03\",\"数量\":43,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-04\",\"数量\":32,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-05\",\"数量\":51,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-06\",\"数量\":26,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-07\",\"数量\":41,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-08\",\"数量\":39,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-09\",\"数量\":41,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-10\",\"数量\":44,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-11\",\"数量\":35,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-12\",\"数量\":41,\"cname\":\"气体传感\"},{\"上线时间\":\"2020-01\",\"数量\":10,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-02\",\"数量\":41,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-03\",\"数量\":45,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-04\",\"数量\":36,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-05\",\"数量\":41,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-06\",\"数量\":36,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-07\",\"数量\":45,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-08\",\"数量\":46,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-09\",\"数量\":46,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-10\",\"数量\":36,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-11\",\"数量\":37,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-12\",\"数量\":32,\"cname\":\"温度传感\"},{\"上线时间\":\"2020-01\",\"数量\":14,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-02\",\"数量\":44,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-03\",\"数量\":48,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-04\",\"数量\":46,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-05\",\"数量\":43,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-06\",\"数量\":59,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-07\",\"数量\":41,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-08\",\"数量\":35,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-09\",\"数量\":53,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-10\",\"数量\":45,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-11\",\"数量\":49,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-12\",\"数量\":43,\"cname\":\"湿度传感\"},{\"上线时间\":\"2020-01\",\"数量\":11,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-02\",\"数量\":37,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-03\",\"数量\":43,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-04\",\"数量\":37,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-05\",\"数量\":33,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-06\",\"数量\":34,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-07\",\"数量\":31,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-08\",\"数量\":37,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-09\",\"数量\":42,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-10\",\"数量\":27,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-11\",\"数量\":37,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-12\",\"数量\":46,\"cname\":\"红外传感\"},{\"上线时间\":\"2020-01\",\"数量\":9,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-02\",\"数量\":33,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-03\",\"数量\":45,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-04\",\"数量\":43,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-05\",\"数量\":45,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-06\",\"数量\":31,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-07\",\"数量\":45,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-08\",\"数量\":58,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-09\",\"数量\":39,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-10\",\"数量\":50,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-11\",\"数量\":45,\"cname\":\"速度传感\"},{\"上线时间\":\"2020-12\",\"数量\":43,\"cname\":\"速度传感\"}]";
	}

最后转成这样的

{
    "series":[
        {
            "data":[
                13,
                33,
                43,
                34,
                51,
                25,
                46,
                46,
                43,
                38,
                32,
                50
            ],
            "name":"声音传感"
        },
        {
            "data":[
                14,
                44,
                48,
                46,
                43,
                59,
                41,
                35,
                53,
                45,
                49,
                43
            ],
            "name":"湿度传感"
        },
        {
            "data":[
                14,
                30,
                52,
                36,
                45,
                25,
                42,
                47,
                40,
                42,
                40,
                40
            ],
            "name":"惯性传感"
        },
        {
            "data":[
                14,
                29,
                39,
                45,
                43,
                36,
                31,
                23,
                58,
                40,
                45,
                49
            ],
            "name":"图像传感"
        },
        {
            "data":[
                8,
                37,
                41,
                36,
                44,
                31,
                36,
                42,
                38,
                46,
                25,
                41
            ],
            "name":"压力传感"
        },
        {
            "data":[
                9,
                33,
                45,
                43,
                45,
                31,
                45,
                58,
                39,
                50,
                45,
                43
            ],
            "name":"速度传感"
        },
        {
            "data":[
                14,
                28,
                38,
                42,
                38,
                29,
                53,
                41,
                50,
                42,
                34,
                48
            ],
            "name":"射频传感"
        },
        {
            "data":[
                17,
                39,
                43,
                32,
                51,
                26,
                41,
                39,
                41,
                44,
                35,
                41
            ],
            "name":"气体传感"
        },
        {
            "data":[
                11,
                37,
                43,
                37,
                33,
                34,
                31,
                37,
                42,
                27,
                37,
                46
            ],
            "name":"红外传感"
        },
        {
            "data":[
                10,
                41,
                45,
                36,
                41,
                36,
                45,
                46,
                46,
                36,
                37,
                32
            ],
            "name":"温度传感"
        },
        {
            "data":[
                12,
                46,
                34,
                39,
                38,
                33,
                34,
                35,
                35,
                47,
                47,
                37
            ],
            "name":"位移传感"
        }
    ],
    "categories":[
        "2020-01",
        "2020-02",
        "2020-03",
        "2020-04",
        "2020-05",
        "2020-06",
        "2020-07",
        "2020-08",
        "2020-09",
        "2020-10",
        "2020-11",
        "2020-12"
    ]
}

  • 写回答

3条回答 默认 最新

  • 关注

    优化json数组什么?

    评论

报告相同问题?

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了