Serileştirmek istediğim bir anonim dizi var. Burada örnek, tüm nesneler aynı, ben sadece ilkini oluşturdum.Abap'ta anonim bir JSON dizisi nasıl deserialize edilir?
[
{ "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"}
]
Ben CL_TREX_JSON_SERIALIZER kullanarak deserializing çalıştı ama o şey bozuk ve
(look at this question) Sonra /ui2/CL_JSON çalıştı benim JSON ile çalışmaz. Bu şeyin JSON Nesnesi tarafından verilen Nesne tam olarak uyan bir "yapıya" ihtiyacı vardır. "Yapı", benim durumumda time, date, timestamp, level, message
ve details
Özniteliklerine sahip bir Nesnelerin İç Tablosunu ifade eder. Sorun vardı: Bu sınıf, uygunlukları düzgün bir şekilde ele almıyor: Alan sembolüne atanan alanı tanımlamak için sınıflandırma kullanıyor. Nesnelerin bir listesini yapamayacağım için, sadece Nesneler için genellikle bir sorun olmayan tekrarların listesi. Bu çözüm işe yaramıyor. Horst Keller göre tanımlanmış ise de, bu yöntemle Bir annonymous dizide okumak mümkün değildi gibi CALL TRANSFORMATION
ile güvenilir üçüncü girişim olarak
sap.ui.log
- :
Benim ana noktaları (Jagger bu ABAP 2 JSON and JSON 2 ABAP with ST daha iyi bir bağlantı yorumladı) bir üçüncü taraf çerçeve
Bunu denediniz mi? (Https://scn.sap.com/community/abap/blog/2013/04/15/abap-2-json-and-json-2-abap-with-st) ? – Jagger
@Jagger Evet, ihtiyaç duyulan "Çağrı dönüşümü" ne dayanıyor (ÇAĞRI TRANSFORMASYON demo_st_json_table SOURCE XML json SONUÇ '** taşıyıcılar = sonuç.' **) adlı bir sözdizimi (bu durumda "taşıyıcılar" olarak adlandırılan bir kök düğümü)) Benim anonim dizi ile yok. – inetphantom
Json "sinek üzerinde" bir değişiklik kabul edilebilir mi? Bu jsonu bir dizeye (her zaman o kadar küçük olduğu varsayılarak) okurdum ve daha sonra “anonim” i yapıştırırdım: {'başlangıçta ve'} 'sonunda. Ardından ihtiyaç duyduğunuz her şey için 'CALL TRANSFORMATION' kullanmayı deneyin ve bu yapıştırılmış parçaları gerektiğinde çıktıya çıkarın. – Jagger