我得到了一个匿名数组,想要反序列化它,这里是第一个数组对象的示例。
[
{ "time":"08:55:54",
"date":"2016-05-27",
"timestamp":1464332154807,
"level":3,
"message":"registerResourcePath ('', '/sap/bc/ui5_ui5/ui2/ushell/resources/')",
"details":"","component":"sap.ui.ModuleSystem"},
{"time":"08:55:54","date":"2016-05-27","timestamp":1464332154808,"level":3,"message":"URL prefixes set to:","details":"","component":"sap.ui.ModuleSystem"},
{"time":"08:55:54","date":"2016-05-27","timestamp":1464332154808,"level":3,"message":" (default) : /sap/bc/ui5_ui5/ui2/ushell/resources/","details":"","component":"sap.ui.ModuleSystem"}
]
我尝试使用CL_TREX_JSON_SERIALIZER
进行反序列化,但它已经损坏,并且不能使用我的JSON。这里是为什么
然后我尝试了/UI2/CL_JSON
,但它需要一个“结构”,完全适合JSON对象给出的对象。 “结构”在我的情况下意味着具有属性time,date,timestamp,level,message
和details
的对象的内部表格。问题在于:它没有正确处理引用,并使用类说明来描述分配给字段符号的字段。由于我只能拥有一个对象引用列表而不是对象列表,因此该解决方案也无法正常工作。
第三次尝试,我按照Horst Keller的描述使用CALL TRANSFORMATION
,但使用此方法时,我无法读取匿名数组。这里是为什么
我的主要观点:
- 我不想改变JSON,因为这就是我从
sap.ui.log
中得到的。 - 我更喜欢使用内置功能而不是第三方框架。
carriers = result.
**”)一个命名根节点(在这种情况下为“carriers”),而我在我的匿名数组中没有。 - inetphantom“anonymous”:{
,在结尾处粘贴}
。然后尝试使用CALL TRANSFORMATION
进行所需的任何操作,并在需要时从输出中删除这些粘合部分。 - Jagger