2017-07-14 3 views
1

Valid JSON data typesには日付は含まれていません。なぜSAPは「 - 」を追加していますか?ABAP JSON Writerで不正な日付と時刻の出力を使用していますか?

data: 
     lo_writer type ref to cl_sxml_string_writer, 
     lo_xmldoc type ref to if_ixml_document, 
     lv_xml type string, 
     l_xstring type xstring, 
     l_descr_ref type ref to cl_abap_typedescr. 

    lo_writer = cl_sxml_string_writer=>create(type = if_sxml=>co_xt_json 
              no_empty_elements = ''). 

    call transformation id source JSON_ROOT_NODE = SY-DATUM 
         result xml lo_writer. 

    l_xstring = lo_writer->get_output(). 

    r_json = /AXO/MC_Tools=>xstring2string( i_xstring  = l_xstring 
              i_encoding = 'UTF-8' ). 

結果の代わりに "YYYYMMDD" の "YYYY-MM-DD"

なぜ? これを修正するにはどうすればよいですか?

答えて

3

JSONがデータ型を定義していないことは間違いありません。 SAPは文字列として日付を表すことを選択しました。これは完全に有効な選択肢であり、少なくとも部分的にISO 8601 approach favored by other implementationsに準拠しています。私はおそらく受信アプリケーション以外の "修正"するものがあるとは思わない。

+0

JavaScriptがそうであることを考えると、多くの人が8601を使用すると、SAPはそれを正しく行ったと主張することができます。決して私はYYYYMMDDを期待して消費者を変えることはできません。 https://www.w3.org/TR/NOTE-datetime –

関連する問題