Signature
CLASS-METHODS s_parse IMPORTING !json TYPE string
parser TYPE REF TO /ork/if_json_parser DEFAULT default
RETURNING VALUE(result) TYPE REF TO /ork/if_json_node.
CLASS-METHODS s_parse IMPORTING !json TYPE string
parser TYPE REF TO /ork/if_json_parser DEFAULT default
RETURNING VALUE(result) TYPE REF TO /ork/if_json_node.CLASS-METHODS s_parse_bytes IMPORTING !json TYPE xstring
!encoding TYPE REF TO /ork/if_encoding DEFAULT /ork/cl_encoding=>utf8
parser TYPE REF TO /ork/if_json_parser DEFAULT default
RETURNING VALUE(result) TYPE REF TO /ork/if_json_node.CLASS-METHODS class_constructor.CLASS-METHODS s_read_string_token IMPORTING !json TYPE string
token_list TYPE ty_tt_tokens
token_index TYPE i
RETURNING VALUE(result) TYPE ty_s_read_string_result.CLASS-METHODS s_parse_result IMPORTING !json TYPE string
RETURNING VALUE(result) TYPE ty_tt_tokens.CLASS-METHODS s_new_parse_error IMPORTING !message TYPE string
!json TYPE string OPTIONAL
VALUE(offset) TYPE i OPTIONAL
!previous TYPE REF TO cx_root OPTIONAL
RETURNING VALUE(result) TYPE REF TO cx_no_check.CLASS-METHODS s_char_from_unicode IMPORTING uccp TYPE ty_unicode
RETURNING VALUE(result) TYPE string.CLASS-METHODS s_get_line_pos
IMPORTING !text TYPE string
!offset TYPE i
RETURNING VALUE(result) TYPE ty_s_line_pos.TYPES ty_token_type TYPE c LENGTH 1.BEGIN OF ty_s_token,
offset TYPE i,
length TYPE i,
type TYPE ty_token_type,
deep TYPE i,
node TYPE i,
END OF ty_s_token.BEGIN OF ty_s_read_string_variables,
token TYPE REF TO ty_s_token,
escape_token TYPE REF TO ty_s_token,
offset TYPE i,
length TYPE i,
off TYPE i,
len TYPE i,
part TYPE string,
exception TYPE REF TO cx_root,
END OF ty_s_read_string_variables.BEGIN OF ty_s_read_string_result,
string TYPE string,
token_count TYPE i,
was_escaped TYPE abap_bool,
next_token_index TYPE i,
END OF ty_s_read_string_result.TYPES ty_tt_tokens TYPE STANDARD TABLE OF ty_s_token WITH EMPTY KEY.TYPES: BEGIN OF ty_s_line_pos,
line TYPE i,
pos TYPE i,
END OF ty_s_line_pos.TYPES ty_unicode TYPE x LENGTH 2.TYPES: BEGIN OF ty_s_complex_level,
"! TY_S_COMPLEX_LEVEL of a previous ComplexNode (array or object)
previous TYPE REF TO data,
"! Token of a ComplexNode (array or object)
token TYPE REF TO ty_s_token,
"! Set when ':' was read in the object. Indicates that MemberNameString should have occurred before
colon_token TYPE REF TO ty_s_token,
END OF ty_s_complex_level.TYPES: BEGIN OF ty_s_state_variables,
match_offset TYPE i,
string_token TYPE REF TO ty_s_token,
string_state LIKE cs_string_states-none,
deep TYPE ty_s_token-deep,
node TYPE ty_s_token-node,
complex_level TYPE REF TO ty_s_complex_level,
END OF ty_s_state_variables.TYPES lty_x2 TYPE x LENGTH _2.BEGIN OF cm_token_types,
unknown TYPE ty_token_type VALUE space,
quotation_mark TYPE ty_token_type VALUE '"', " "
comma TYPE ty_token_type VALUE ',', " ,
colon TYPE ty_token_type VALUE ':', " :
backslash TYPE ty_token_type VALUE '\', " \
left_brace TYPE ty_token_type VALUE '{', " {
right_brace TYPE ty_token_type VALUE '}', " }
left_square_bracket TYPE ty_token_type VALUE '[', " [
right_square_bracket TYPE ty_token_type VALUE ']', " ]
member_name TYPE ty_token_type VALUE 'M', " string ( inside quotation mark ... may escaped !)CONSTANTS: BEGIN OF cs_string_states,
none TYPE x LENGTH 1 VALUE 0,
in_string TYPE x LENGTH 1 VALUE 1,
in_escape TYPE x LENGTH 1 VALUE 2,
END OF cs_string_states.CONSTANTS _0 TYPE i VALUE 0.CONSTANTS _1 TYPE i VALUE 1.CONSTANTS _2 TYPE i VALUE 2.CONSTANTS _4 TYPE i VALUE 4.CONSTANTS _5 TYPE i VALUE 5.CONSTANTS _6 TYPE i VALUE 6.CONSTANTS _32 TYPE i VALUE 32.CONSTANTS _1m TYPE i VALUE -1.CLASS-DATA default TYPE REF TO /ork/if_json_parser READ-ONLY.CLASS-DATA lazy TYPE REF TO /ork/if_json_parser READ-ONLY.CLASS-DATA sxml TYPE REF TO /ork/if_json_parser READ-ONLY.CLASS-DATA: BEGIN OF sm_pseudo_constants,
white_spaces TYPE string,
white_spaces_or_control TYPE string,
END OF sm_pseudo_constants.DATA exception TYPE REF TO cx_no_check.DATA var TYPE ty_s_read_string_variables.