[
https://issues.apache.org/jira/browse/PIVOT-704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020986#comment-13020986
]
Greg Brown commented on PIVOT-704:
----------------------------------
The problem is simple to fix. In the following code, you are generating a Long
when the value is of type Number:
if (value instanceof Number) {
coercedValue = ((Number)value).longValue();
} else {
coercedValue = new BigInteger(value.toString());
}
You should be generating a BigInteger. Same for Double.
> JSONSerializer can't deserialize to BigDecimal
> ----------------------------------------------
>
> Key: PIVOT-704
> URL: https://issues.apache.org/jira/browse/PIVOT-704
> Project: Pivot
> Issue Type: Bug
> Components: core-beans, core-json, core-serialization
> Affects Versions: 2.0
> Reporter: Augustus Thoo
> Assignee: Sandro Martini
> Priority: Minor
> Fix For: 2.0.1
>
> Attachments: BeanAdapterTest.java, TestObject.java, patch.patch
>
>
> JSONSerializer would throw an IllegalArgumentException "Unable to coerce
> double to BigDecimal" when the object class contains at least one BigDecimal
> field.
> Exception is traced to BeanAdapter.java , line 916, where coerce(Object,
> Class) has no else-if for BigDecimal class.
> Re:
> http://apache-pivot-users.399431.n3.nabble.com/JSONSerializer-can-t-deserialize-to-BigDecimal-td2464302.html
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira