开发者社区> 问答> 正文

请问下fastjson在反序列化json时候,遇到key里面有点号.怎么办?报错

比如我有如下的json字符串:


{
        "batch.password": "#",
        "batch.username": "batch_user"
}
然后我想反序列化为虾米的java类:



class User {
    public String username;
    public String password;
}

如果我在username字段上面加入:@JSONField(name = "batch.username"),会报错

java.lang.ClassFormatError: Illegal field name ...


有人有类似的情况么?


展开
收起
爱吃鱼的程序员 2020-06-22 11:25:27 1226 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    fastjson不是有注解写法吗,你上面可以这样

    classUser{

    @JSONField(name=" batch.username")
      publicStringusername;

    @JSONField(name=" batch.password ")
      publicStringpassword;
    }

    改成"@JSONField(name=" batch\\.username ")"

    引用来自“曾贵”的评论

    改成"@JSONField(name=" batch\\.username ")"

    我想问下,为什么要这样做呢

    引用来自“wgzh159”的评论

    我想问下,为什么要这样做呢

    有解决方法了么?

    引用来自“youthflies”的评论

    有解决方法了么?
    2020-06-22 11:25:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载