将值从JsonObject转换为BigDecimal

时间:2016-10-12 18:51:01

标签: java json jsonreader

我是java语言的新手。 我想从.hitch获取值并将其转换为JsonObject。 我有以下代码:

BigDecimal

我想要的是做一些与JsonReader jsonReader; try { jsonReader = Json.createReader(httpRequest.getReader()); } catch (IOException e) { return Response.serverError().entity("Problem reading json body").build(); } JsonObject jsonObj = jsonReader.readObject(); Map<String, Object> paramMap = UtilMisc.toMap("productId", productId, "internalName", jsonObj.getString("internalName"), "productName", jsonObj.getString("productName"), "productTypeId", jsonObj.getString("productTypeId"), "login.username", username, "login.password", password, "description", jsonObj.getString("description"), "longDescription", jsonObj.getString("longDescription"), "productHeight", (BigDecimal)jsonObj.get("productHeight")); 类似的事情。

谢谢。

1 个答案:

答案 0 :(得分:3)

首先,jsonObj.get不是一种方法,所以肯定是错误。

其次,我不认为将任何对象投射到BigDecimal就可以这样工作。

阅读API ...

JsonReader下到BigDecimal

JsonReader 
   > JsonObject
       > JsonNumber
          > BigDecimal 

你可以做到

jsonObj.getJsonNumber("productHeight").bigDecimalValue()

这假设productHeight是数值,而不是字符串。

如果是String,请查看BigDecimal构造函数。特别是采用String值的那个。

new BigDecimal(jsonObj.getString("productHeight"))