我是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"));
类似的事情。
谢谢。
答案 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"))