私は無名配列を取得しました。逆シリアル化したいです。ここの例では、すべてのオブジェクトは同じですが、私は最初のオブジェクトのみを作成しました。abapで匿名JSON配列を逆シリアル化する方法は?
[
{ "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 (look at this question)
では動作しません。そして私は、/UI2/CL_JSONを試してみました。このことは、JSONオブジェクトによって与えられたObjectに完全に適合する「構造」を必要とします。私の場合、「構造」とは、属性がtime, date, timestamp, level, message
およびdetails
のオブジェクトの内部テーブルを意味します。問題がありました:このクラスはreffrencesを適切に処理しません:クラス記述を使用してfieldsymbolに割り当てられたフィールドを記述します。私はオブジェクトのリストを持つことはできませんが、オブジェクトへのreffrencesのリストしか持てないので、通常問題はありません。その解決法はどちらも機能しません。 Horst Kellerによって記載されているように、私はCALL TRANSFORMATION
と試みたが、この方法で私はAnnonymousの配列に読み取ることができませんでした第三の試みとして
。それは私が私が内蔵使用するprefere 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はい、それは必要な(呼び出し変換demo_st_json_table SOURCE XML json RESULT' ** 'carrier = result.' **)という名前のルート変換ノードに基づいています。 )私は無名の配列を持っていません。 – inetphantom
"オンザフライ"のjsonの変更は容認できますか?私はこのjsonを文字列に読み込み、最後に ''匿名 ':{'を先頭に' 'と' 'を付けます。次に、必要に応じて 'CALL TRANSFORMATION'を使い、必要に応じてこの接着された部分を出力に取り除いてみてください。 – Jagger