com.alibaba.fastjson.JSONException: expect ‘:‘ at 0, actual =

博客内容涉及了在Java中遇到的JSON转换异常问题。作者首先展示了源代码,其中尝试将一个对象转换为Map,但遇到了`JSONException`,错误信息提示预期的'{', 实际得到的是字符串。为解决这个问题,作者修改了代码,先将对象转成JSON字符串再解析为Map。此外,还修复了另一个地方的代码,直接将字符串解析为指定的类对象,而不再进行额外的JSON序列化和反序列化。这些更改有效避免了语法错误并提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

json转换异常
源代码:
String modulesTemp = moduleVo.get("modules").toString();
Map<String, Object> modules = JSONObject.parseObject(modulesTemp, Map.class);

修改后:

Object modulesTemp = moduleVo.get("modules");
Map<String, Object> modules = JSONObject.parseObject(JSON.toJSONString(modulesTemp), Map.class);

com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 0, fastjson-version 1.2.73

修改前:

String affiliatedInformation = modules.get("affiliatedInformation").toString();
if(StringUtils.isNotBlank(affiliatedInformation)){
    chlAffiliated = JSON.parseObject(JSON.toJSONString(affiliatedInformation), FunAffiliatedVo.class);
}

修改后

String affiliatedInformation = modules.get("affiliatedInformation").toString(); if(StringUtils.isNotBlank(affiliatedInformation)){ chlAffiliated = JSON.parseObject(affiliatedInformation, FunAffiliatedVo.class); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值