将Json对象转换为Java对象

佩皮尼奥

json文件中的值为75.38,我编写了代码以在Eclipse中解析该值:

 double legacyPremium = (double) object.get("legacyPremium");

而且我得到了错误:

Exception in thread "main" java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Double at com.domain.project.Class.main(Class.java:56)

Json文件是:

{  
    "elementaryProductId":1,
    "bonusMalus":5,
    "deductible":100,
    "comprehensive":1,
    "partial":0,
    "legacyPremium":75.38,
    "product":{  
        "productId":2,
        "garage":"true",
        "constructionYear":2005,
        "region":"East",
        "dateOfBirthYoungest":"1999-06-22",
        "objectValue":30000,
        "type":"Car",
        "insuredObject":{  
            "name":"Car",
            "ownersName":"Jelena",
            "mileage":300000,
            "engineCapacity":210
        },
        "salesProduct":{  
            "salesProductId":3,
            "currency":"EUR",
            "contractStart":"2013-01-01",
            "contractEnd":"2014-01-01"
        },
        "productType":"Car"
    }
},

有人知道是什么问题吗?

Tor_Gash

尝试使用

double x = Double.valueOf(object.get("x").toString());

代替

double x = (double) object.get("x");

这将使您摆脱铸造问题。请考虑到该字符串必须可转换为Double类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章