字符串到JSON序列化器的长度是否限制为255个字符?

2020-08-30 19:47发布

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

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


大家好,

我正在构建将s4hana与外部Web服务集成在一起的应用程序,例如。 ariba的成功因素。 因此,我们的s4hana abap正在使用基于python的rest api。 在将主体参数传递给rest api调用时,我正在将字符串结构序列化为json格式,这将被我们的rest api接受。 例如,

body_in_string:

" Attribute1":" Value1",

" Attribute2":" Value2",

" Attribute3":[{" Sub-attri1":" Name1"},[{" Sub-attri2":" Name2"},[{" Sub-attri3":" Name3"},[{" Sub -attri4":" Name4"},[{" Sub-attri5":" Name5"},[{" Sub-attri6":" Name6"},[{" Sub-attri7":" Name7"},[{ " Sub-attri8":" Name8"},[{" Sub-attri9":" Name9"},[{" Sub-attri10":" Name10"}],

" Attribute4":" Value4",

" Attribute5":" Value5",

" Attribute6":" Value6",

" Attribute7":" Value7"

我正在使用

/ui2/cl_json =>序列化(data = body_in_string compress = abap_false pretty_name =/ui2/cl_json => pretty_mode-camel_case)。

将上述字符串序列化为json格式

{" Attribute1":" Value1",

" Attribute2":" Value2",

" Attribute3":[{" Sub-attri1":" Name1"},[{" Sub-attri2":" Name2"},[{" Sub-attri3":" Name3"},[{" Sub -attri4":" Name4"},[{" Sub-attri5":" Name5"},[{" Sub-attri6":" Name6"},[{" Sub-attri7":" Name7"},[{ " Sub-attri8":" Name8"},[{" Sub-attri9":" Name9"},[{" Sub-attri10":" Name10"}],

" Attribute4":" Value4",

" Attribute5":" Value5",

" Attribute6":" Value6",

" Attribute7":" Value7"}

/ui2/cl_json序列化程序仅将字符串序列化为json,最多255个字符,其余部分被截断。 我也尝试过-

数据lo_json_writer类型参考cl_sxml_string_writer。
lo_json_writer = cl_sxml_string_writer => create(type = if_sxml => co_xt_json)。
呼叫转换ID
源正文= body_in_string
结果XML lo_json_writer。 >

也尝试过

数据lr_json_serializer类型参考cl_trex_json_serializer。
创建对象lr_json_serializer
导出
data = body_in_string。
lr_json_serializer-> serialize()。
lv_body = lr_json_ser。/p>

所有选项都将body_in_string上面的255个字符后的字符串值截断为json序列化。

请帮助!。

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

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


大家好,

我正在构建将s4hana与外部Web服务集成在一起的应用程序,例如。 ariba的成功因素。 因此,我们的s4hana abap正在使用基于python的rest api。 在将主体参数传递给rest api调用时,我正在将字符串结构序列化为json格式,这将被我们的rest api接受。 例如,

body_in_string:

" Attribute1":" Value1",

" Attribute2":" Value2",

" Attribute3":[{" Sub-attri1":" Name1"},[{" Sub-attri2":" Name2"},[{" Sub-attri3":" Name3"},[{" Sub -attri4":" Name4"},[{" Sub-attri5":" Name5"},[{" Sub-attri6":" Name6"},[{" Sub-attri7":" Name7"},[{ " Sub-attri8":" Name8"},[{" Sub-attri9":" Name9"},[{" Sub-attri10":" Name10"}],

" Attribute4":" Value4",

" Attribute5":" Value5",

" Attribute6":" Value6",

" Attribute7":" Value7"

我正在使用

/ui2/cl_json =>序列化(data = body_in_string compress = abap_false pretty_name =/ui2/cl_json => pretty_mode-camel_case)。

将上述字符串序列化为json格式

{" Attribute1":" Value1",

" Attribute2":" Value2",

" Attribute3":[{" Sub-attri1":" Name1"},[{" Sub-attri2":" Name2"},[{" Sub-attri3":" Name3"},[{" Sub -attri4":" Name4"},[{" Sub-attri5":" Name5"},[{" Sub-attri6":" Name6"},[{" Sub-attri7":" Name7"},[{ " Sub-attri8":" Name8"},[{" Sub-attri9":" Name9"},[{" Sub-attri10":" Name10"}],

" Attribute4":" Value4",

" Attribute5":" Value5",

" Attribute6":" Value6",

" Attribute7":" Value7"}

/ui2/cl_json序列化程序仅将字符串序列化为json,最多255个字符,其余部分被截断。 我也尝试过-

数据lo_json_writer类型参考cl_sxml_string_writer。
lo_json_writer = cl_sxml_string_writer => create(type = if_sxml => co_xt_json)。
呼叫转换ID
源正文= body_in_string
结果XML lo_json_writer。 >

也尝试过

数据lr_json_serializer类型参考cl_trex_json_serializer。
创建对象lr_json_serializer
导出
data = body_in_string。
lr_json_serializer-> serialize()。
lv_body = lr_json_ser。/p>

所有选项都将body_in_string上面的255个字符后的字符串值截断为json序列化。

请帮助!。

付费偷看设置
发送
8条回答
绿领巾童鞋
1楼 · 2020-08-30 20:14.采纳回答

"我已验证调试器中的错误,因为在将字符串se11结构序列化为json后,我得到了截断的值。"

抱歉,但是您选择了正确的显示 调试中的变量? 选择显示内容时,可以选择显示类型,例如下面的图像中的显示:

Tong__Ming
2楼-- · 2020-08-30 20:27

Manisha Madhwani 如果您在问题/答案下发表评论,而您 想要针对问题/答案作者以外的其他人,唯一的解决方案是复制/粘贴其超链接的名称,以便该人收到警告。

一周热门 更多>