익명 어레이가 있습니다. 비 직렬화하고 싶습니다. 여기 예제, 모든 개체가 동일합니다, 나는 단지 첫 번째 formated.abap에서 익명 JSON 배열을 deserialize하는 방법은 무엇입니까?
[
{ "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를 사용하여 직렬화 복원 시도했지만 그 일이 손상되어
(look at this question)가 그럼 난 /UI2/CL_JSON을 시도 내 JSON 작동하지 않습니다. 이 것은 JSON 객체에 의해 주어진 Object에 완벽하게 맞는 "구조체"가 필요합니다. "구조"는 내 경우에는 속성이 time, date, timestamp, level, message
및 details
인 내부 테이블을 의미합니다. 문제가 발생했습니다 :이 클래스는 reffrences를 적절히 처리하지 못합니다 : 필드 기호에 지정된 필드를 설명하기 위해 클래스 설명을 사용합니다. 객체 목록 만 가질 수는 없으므로 객체에 대한 reffrences 목록 만있을 수 있으므로 일반적으로 문제는 없습니다. 그 해결책은 효과가 없습니다. Horst Keller하여 설명하지만,이 방법은 I annonymous 어레이에서 판독 할 수 없었던 것처럼 I은 CALL TRANSFORMATION
로하려고 시도로 제
sap.ui.log
- :
내 주요 지점 (재거이 ABAP 2 JSON and JSON 2 ABAP with ST의 더 나은 링크 댓글을 달았습니다) 타사 프레임 워크
[이] (https://scn.sap.com/community/abap/blog/2013/04/15/abap-2-json-and-json-2-abap-with-st)를 사용해 보셨나요? ? – Jagger
@Jagger 그렇습니다. '전화 변환'을 기반으로합니다. ('CALL TRANSFORMATION demo_st_json_table SOURCE XML json RESULT' **'carriers = result.' **) 루트 노드 (이 경우에는'carrier ') 내 익명의 배열을 가지고 있지 않습니다. – inetphantom
json의 변경이 "즉시 수행"가능합니까? 이 json을 문자열 (항상 작다고 가정)로 읽은 다음 끝에 익명으로 붙여 넣습니다. 즉, 처음에는 {'시작 부분에'}'를 붙입니다. 그런 다음 필요하다면'CALL TRANSFORMATION'을 사용하고 필요한 경우 출력에이 접착 부분을 제거하십시오. – Jagger