json数据的转换

String o = (String) redisTemplate.opsForValue().get(key);//json 转换成String
JSONObject jsonObject = JSON.parseObject(o);//String 转换成 json
//json 转换成Map<String, Object>
Map<String, Object> map = new HashMap<>();
for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
map.put(entry.getKey(), entry.getValue());
}
String json = JSON.toJSONString(map); // Map<String, Object>转换成String

JSONObject js = JSON.parseObject(json); //String 转换成 json

//json 转换成对象
StationBillingTacticsInfo stationBillingTacticsInfo = JSON.parseObject(json, new TypeReference<StationBillingTacticsInfo>() {});

对象转换成json
如何将Java对象转换为JSON字符串的分步示例
将Java Object转换为JSON字符串的最常见方法是使用API 。 为此目的最常用的API是Jackson和GSON。

本示例说明如何使用JACKSON API将Java对象转换为JSON字符串。

我们可以使用Jackson API提供的ObjectMapper类进行转换。

writeValueAsString()用于将Java obj转换为JSON
readValue()用于将JSON转换为Java obj


com.fasterxml.jackson.core
jackson-databind
2.9 . 8

ObjectMapper mapper = new ObjectMapper(); try {
String json = mapper.writeValueAsString(cat);
System.out.println( "ResultingJSONstring = " + json);
//System.out.println(json); } catch (JsonProcessingException e) {
e.printStackTrace(); }

示例

public class Laser018008Controller {
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private RedisUtil redisUtil;

@GetMapping("findAllData/{key}")
@ApiOperation("焊接专机数据查询")
public R findAllData(@PathVariable("key") String key) {
    String o = (String) redisTemplate.opsForValue().get(key);
    JSONObject jsonObject = JSON.parseObject(o);
    Map<String, Object> map = new HashMap<>();
    for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
        map.put(entry.getKey(), entry.getValue());
    }
    String json = JSON.toJSONString(map);
    JSONObject js = JSON.parseObject(json);
    System.out.println("jsonObject"+jsonObject);
    System.out.println("json"+json);
    System.out.println("js"+js);
    String header;
    System.out.println("js"+js.get("header"));

    return R.ok().data("ctldata", js);
}

}

··

@ApiOperation("添加")
@PostMapping("addStationBilling")
public R addStationBilling(@RequestBody StationBillingModeInfo stationBillingModeInfo) {
    QueryWrapper<StationInfo> wrapper = new QueryWrapper<>();
    //根据添加的区域编码查询区域内换电站信息
    wrapper.eq("f_area_code", stationBillingModeInfo.getFAreaCode());
    List<StationInfo> list = stationInfoService.list(wrapper);//换电站信息
    StationBillingTacticsInfo stationBillingTacticsInfo = new StationBillingTacticsInfo();
    Map<String, Object> map = new HashMap<>();
    for (int i = 0; i < list.size(); i++) {
        map.put("fareaCode", stationBillingModeInfo.getFAreaCode());
        map.put("fbillingMode", stationBillingModeInfo.getFBillingMode());
        map.put("fendTime", stationBillingModeInfo.getFEndTime());
        map.put("fstartTime", stationBillingModeInfo.getFStartTime());
        map.put("fstate", stationBillingModeInfo.getFState());
        map.put("fstationNo", list.get(i).getFStationNo());
        map.put("fstationName", list.get(i).getFStationName());
        String json = JSON.toJSONString(map);
        stationBillingTacticsInfo  = JSON.parseObject(json, new TypeReference<StationBillingTacticsInfo>() {});
        boolean save= stationBillingTacticsInfoService.save(stationBillingTacticsInfo);
        if(save){
            boolean result = stationBillingModeInfoService.save(stationBillingModeInfo);
        }else {
            return R.error();
        }
    }
    return R.ok();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值