Java中json数据的组装和解析

1、json组装

// json数据
{
    "userName": "xxx",
    "email": "xxxx",
    "phone": 13588888888,
    "level": 1,
    "timestamp": 1616296271000,
    "parentId": 2,
    "appInfo": [
        {
            "appId": "app1xxx",
            "sign": "sign1xxx"
        },
        {
            "appId": "app2xxx",
            "sign": "sign2xxx"
        }
    ]
}

// java代码
import cn.hutool.json.JSONObject;

HashMap<String, Object> outHashMap = new HashMap<>();

        outHashMap.put("userName", user.getUserName());
        outHashMap.put("email", user.getEmail());
        outHashMap.put("phone", user.getMobile());
        outHashMap.put("level", 1);
        outHashMap.put("timestamp", currentTimeMillis);
        outHashMap.put("parentId", userLevel.getGetuiId());

        ArrayList<HashMap<String, String>> hashMaps = new ArrayList<>();
        HashMap<String, String> smallHashMap = new HashMap<>();
        smallHashMap.put("appId", geTuiConfig.getAppId());
        smallHashMap.put("sign","sign"));
        hashMaps.add(smallHashMap);

        outHashMap.put("appInfo", hashMaps);

        JSONObject addUserJsonParam = new JSONObject(outHashMap);

2、json解析

// json数据
{
    "code": 0,
    "data": [
        {
            "ip": "10.200.77.167",
            "sysname": "hybase",
            "itemlist": [
                {
                    "unit": "",
                    "name": "节点状态",
                    "value": "on",
                    "key": "server_status"
                },
                {
                    "unit": "%",
                    "name": "CPU使用率",
                    "value": "1.87",
                    "key": "cpu_usage"
                }
            ],
            "id": "hybase1"
        }
    ],
    "message": "成功"
}

// java代码
String s = HttpUtil.get("http://127.0.0.1:6666/public/status");
        JSONObject jsonObject = new JSONObject(s);
        JSONArray data = jsonObject.getJSONArray("data");
        // 这里的JSON是import com.alibaba.fastjson.JSON;
        List<Status> statusList = JSON.parseArray(data.toString(), Status.class);
        for (Status status : statusList) {
            HybaseStatus hybaseStatus = new HybaseStatus();
            hybaseStatus.setIp(status.getIp());
            hybaseStatus.setSysname(status.getSysname());
            hybaseStatus.setHybase_id(status.getId());
            for (Item item : status.getItemlist()) {
                hybaseStatus.setName(item.getName());
                hybaseStatus.setHybase_key(item.getKey());
                hybaseStatus.setHybase_value(item.getValue());
                hybaseStatus.setUnit(item.getUnit());
                hybaseStatus.setCreate_time(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
                statusService.InsertData(hybaseStatus);
            }


        }
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值