JSON编号不支持作为Edm.Decimal值

2020-08-21 16:24发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

当我尝试发送如下十进制值时,我在ODATA 2.0有效负载PO​​ST请求中遇到问题,

POST servicName/books

{

"名称":" Scarlet",

"价格":" 25.50"

}

我收到的

错误是

{
"错误":{
"代码":空,
"消息":"反序列化有效负载时出错。 实体反序列化期间发生错误。 不支持将JSON编号作为Edm.Decimal值。"
}
}

价格类型为价格:小数(13,3);

注意:我一直在将CAP CDS NodeJ用于ODATA

您能帮我如何通过json在请求有效载荷上用ODATA插入十进制值吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

当我尝试发送如下十进制值时,我在ODATA 2.0有效负载PO​​ST请求中遇到问题,

POST servicName/books

{

"名称":" Scarlet",

"价格":" 25.50"

}

我收到的

错误是

{
"错误":{
"代码":空,
"消息":"反序列化有效负载时出错。 实体反序列化期间发生错误。 不支持将JSON编号作为Edm.Decimal值。"
}
}

价格类型为价格:小数(13,3);

注意:我一直在将CAP CDS NodeJ用于ODATA

您能帮我如何通过json在请求有效载荷上用ODATA插入十进制值吗?

付费偷看设置
发送
5条回答
风早神人
1楼 · 2020-08-21 16:58.采纳回答

不确定oData 2.0,但对于oData 4.0则不确定: http://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_PrimitiveValue

在内容类型标题中添加" IEEE754Compatible = true"

wang628962
2楼-- · 2020-08-21 17:05

我有相同的 鉴于此CDS数据模型存在的问题:

 entity FinancedItemsPayments_001 {
 密钥ID:UUID;
 financedItem:与FinancedItems_001的关联;
 安全性:整数;
 flagDel:布尔值;
 datePro:日期;
 datePay:日期;
 payAmt:十进制(13,2);

 [...]
 } 

原始JSON请求:

 {
     "安全性":1,
     " flagDel":否,
     " datePro":" 2020-02-26",
     " datePay":" 2020-02-26",
     " payAmt":" 2.00",
     " financedItem_ID":" bc9ed4ca-cd8b-419d-a36e-ebb189a9572a",
 [...}
 }
 

响应:

 {
     "错误":{
         "代码":null,
         "" message":"反序列化有效负载时出错。在反序列化实体期间发生错误。Edm.Decimal值不支持JSON编号。"
     }
 }

 
3楼-- · 2020-08-21 17:09

您好,

您正在发送25.50作为字符串而不是数字,尝试发送不带引号的

"名称":" Scarlet"

"价格":25.50

野沐沐
4楼-- · 2020-08-21 17:21

无效。

lukcy2020
5楼-- · 2020-08-21 17:05

尊敬的Prem

由于在您的模式下-您正在使用Price类型为Price:Decimal(13,3);

小数位数为 3

确保您传递3个小数位

如果用户未输入小数位,我也会遇到类似的问题-由于此十进制表示法错误,请求失败。

问候

Venkat

一周热门 更多>