JSON字符串如下:{"device_id": "gh_4da91c444fee_8c04d0b766780c62","device_type":"gh_4da91c444fee","msg_type":"notify","data":"jlfjsdlkjflk","services":{"operation_status":{"status": 0},"lightbulb":{"alpha":70}}}我先替换status和alpha的值, 但是每一次更换的值是不固定的,你有什么方法可以替换吗
3条回答
- 衫燃愚下 2017-11-29 06:00关注
你可以用fastjson,将json字符串转成对象,然后进行数值替换
json对象,在java中其实就是mappublic void test(){ /* { "device_id": "gh_4da91c444fee_8c04d0b766780c62", "device_type": "gh_4da91c444fee", "msg_type": "notify", "data": "jlfjsdlkjflk", "services": { "operation_status": { "status": 0 }, "lightbulb": { "alpha": 70 } } } */ String jsonStr = ""; //转换成JSON对象 JSONObject jsonObj = JSONObject.parseObject(jsonStr); //根据key获取对象 JSONObject services = jsonObj.getJSONObject("services"); JSONObject operation_status = services.getJSONObject("operation_status"); operation_status.put("status", 1); JSONObject lightbulb = services.getJSONObject("lightbulb"); lightbulb.put("alpha", 100); jsonStr = jsonObj.toJSONString(); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料