Scala Json 和 map/ bean对象的转换 + List 转Josn字符串 "ambiguous reference to overloaded definition"

本文讲述了在Scala中使用阿里巴巴的Fastjson库将[String, MonthValue]的Map转换为Json字符串,其中MonthValue是自定义的case class。在尝试将List元素添加到Map并转化为JsonString时遇到""ambiguous reference to overloaded definition""错误。解决方案是明确调用Fastjson的toJSONString方法的特定重载形式,通过传递额外参数避免歧义。例如,传入false作为第二个参数以保持非格式化的Json输出。" 106200909,7169349,等价类划分法在软件测试中的应用解析,"['软件测试', '测试用例设计', '黑盒测试技术']
摘要由CSDN通过智能技术生成

用到:alibaba的fastjson
需求1:需要将一个格式是[String,MonthValue]的map转换为json,这里YearValue是自定义的case class。
MonthValue长这样,这里需要加上@BeanProperty注解,否则 fastjson解析不到。

case class MonthValue(@BeanProperty
                      light: Int,
                      @BeanProperty
                      deep: Int,
                      @BeanProperty
                      total: Int,
                      @BeanProperty
                      rem: Int)

转换时用到 val jSONObject = new JSONObject()
我需要将一个放在list里面的元素添加进这个jSONObject当中,然后把它变成一个jsonString
如下是代码

val list: List[YearRecord] = iter.toList
val jSONObject = new JSONObject()
for (elem <- list) {
   
  jSONObject.put(elem.month.toString,MonthValue(elem.summary_slp_lt, elem.summary_slp_dp, elem.summary_slp_dp <
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值