├── src └── test │ ├── resources │ ├── nst_files │ │ ├── n_2.json │ │ ├── n_11.json │ │ ├── n_127.json │ │ ├── n_13.json │ │ ├── n_136.json │ │ ├── n_137.json │ │ ├── n_139.json │ │ ├── n_145.json │ │ ├── n_147.json │ │ ├── n_149.json │ │ ├── n_150.json │ │ ├── n_151.json │ │ ├── n_153.json │ │ ├── n_164.json │ │ ├── n_173.json │ │ ├── n_20.json │ │ ├── n_21.json │ │ ├── n_211.json │ │ ├── n_216.json │ │ ├── n_217.json │ │ ├── n_23.json │ │ ├── n_3.json │ │ ├── n_30.json │ │ ├── n_4.json │ │ ├── n_40.json │ │ ├── n_44.json │ │ ├── n_46.json │ │ ├── n_5.json │ │ ├── n_54.json │ │ ├── n_6.json │ │ ├── n_66.json │ │ ├── n_69.json │ │ ├── n_7.json │ │ ├── n_77.json │ │ ├── n_78.json │ │ ├── n_79.json │ │ ├── n_8.json │ │ ├── n_80.json │ │ ├── n_81.json │ │ ├── n_82.json │ │ ├── n_83.json │ │ ├── n_85.json │ │ ├── n_86.json │ │ ├── n_87.json │ │ ├── y_105.json │ │ ├── y_129.json │ │ ├── y_135.json │ │ ├── y_138.json │ │ ├── y_146.json │ │ ├── y_148.json │ │ ├── y_152.json │ │ ├── y_166.json │ │ ├── y_41.json │ │ ├── y_42.json │ │ ├── y_43.json │ │ ├── y_45.json │ │ ├── y_51.json │ │ ├── y_52.json │ │ ├── y_62.json │ │ ├── y_65.json │ │ ├── y_67.json │ │ ├── y_68.json │ │ ├── y_84.json │ │ ├── y_88.json │ │ ├── y_89.json │ │ ├── y_90.json │ │ ├── n_10.json │ │ ├── n_12.json │ │ ├── n_125.json │ │ ├── n_140.json │ │ ├── n_154.json │ │ ├── n_155.json │ │ ├── n_156.json │ │ ├── n_157.json │ │ ├── n_158.json │ │ ├── n_159.json │ │ ├── n_160.json │ │ ├── n_161.json │ │ ├── n_162.json │ │ ├── n_163.json │ │ ├── n_165.json │ │ ├── n_169.json │ │ ├── n_177.json │ │ ├── n_19.json │ │ ├── n_197.json │ │ ├── n_198.json │ │ ├── n_199.json │ │ ├── n_200.json │ │ ├── n_201.json │ │ ├── n_203.json │ │ ├── n_204.json │ │ ├── n_210.json │ │ ├── n_212.json │ │ ├── n_213.json │ │ ├── n_214.json │ │ ├── n_218.json │ │ ├── n_219.json │ │ ├── n_22.json │ │ ├── n_220.json │ │ ├── n_221.json │ │ ├── n_223.json │ │ ├── n_24.json │ │ ├── n_31.json │ │ ├── n_36.json │ │ ├── n_55.json │ │ ├── n_59.json │ │ ├── n_63.json │ │ ├── n_64.json │ │ ├── n_9.json │ │ ├── n_91.json │ │ ├── y_106.json │ │ ├── y_111.json │ │ ├── y_112.json │ │ ├── y_113.json │ │ ├── y_114.json │ │ ├── y_115.json │ │ ├── y_116.json │ │ ├── y_117.json │ │ ├── y_118.json │ │ ├── y_123.json │ │ ├── y_124.json │ │ ├── y_126.json │ │ ├── y_130.json │ │ ├── y_132.json │ │ ├── y_133.json │ │ ├── y_134.json │ │ ├── y_141.json │ │ ├── y_142.json │ │ ├── y_143.json │ │ ├── y_144.json │ │ ├── y_167.json │ │ ├── y_168.json │ │ ├── y_170.json │ │ ├── y_196.json │ │ ├── y_38.json │ │ ├── y_39.json │ │ ├── y_47.json │ │ ├── y_48.json │ │ ├── y_60.json │ │ ├── y_61.json │ │ ├── y_70.json │ │ ├── y_71.json │ │ ├── y_92.json │ │ ├── y_93.json │ │ ├── n_171.json │ │ ├── n_178.json │ │ ├── n_18.json │ │ ├── n_202.json │ │ ├── n_205.json │ │ ├── n_206.json │ │ ├── n_207.json │ │ ├── n_208.json │ │ ├── n_209.json │ │ ├── n_32.json │ │ ├── n_33.json │ │ ├── n_34.json │ │ ├── n_35.json │ │ ├── n_37.json │ │ ├── y_102.json │ │ ├── y_107.json │ │ ├── y_108.json │ │ ├── y_119.json │ │ ├── y_120.json │ │ ├── y_121.json │ │ ├── y_122.json │ │ ├── y_128.json │ │ ├── y_53.json │ │ ├── y_56.json │ │ ├── y_57.json │ │ ├── y_58.json │ │ ├── y_72.json │ │ ├── n_172.json │ │ ├── n_175.json │ │ ├── n_176.json │ │ ├── n_179.json │ │ ├── n_180.json │ │ ├── n_181.json │ │ ├── n_185.json │ │ ├── n_186.json │ │ ├── n_191.json │ │ ├── n_192.json │ │ ├── n_193.json │ │ ├── n_194.json │ │ ├── y_109.json │ │ ├── y_110.json │ │ ├── y_131.json │ │ ├── y_174.json │ │ ├── y_182.json │ │ ├── y_215.json │ │ ├── y_73.json │ │ ├── y_74.json │ │ ├── y_94.json │ │ ├── y_95.json │ │ ├── n_101.json │ │ ├── n_184.json │ │ ├── n_187.json │ │ ├── n_188.json │ │ ├── n_189.json │ │ ├── n_222.json │ │ ├── n_25.json │ │ ├── n_26.json │ │ ├── n_27.json │ │ ├── y_75.json │ │ ├── y_76.json │ │ ├── y_96.json │ │ ├── y_97.json │ │ ├── n_183.json │ │ ├── n_190.json │ │ ├── y_103.json │ │ ├── y_98.json │ │ ├── n_195.json │ │ ├── n_28.json │ │ ├── n_29.json │ │ ├── y_99.json │ │ ├── y_49.json │ │ ├── n_14.json │ │ ├── n_15.json │ │ ├── y_100.json │ │ ├── n_16.json │ │ ├── n_17.json │ │ ├── y_50.json │ │ └── y_104.json │ ├── test_parsing │ │ ├── n_number_+1.json │ │ ├── n_number_0e.json │ │ ├── n_single_space.json │ │ ├── y_array_empty.json │ │ ├── y_number.json │ │ ├── y_object_empty.json │ │ ├── y_string_pi.json │ │ ├── n_array_just_comma.json │ │ ├── n_array_just_minus.json │ │ ├── n_array_unclosed.json │ │ ├── n_number_++.json │ │ ├── n_number_+Inf.json │ │ ├── n_number_-01.json │ │ ├── n_number_-1.0..json │ │ ├── n_number_-2..json │ │ ├── n_number_-NaN.json │ │ ├── n_number_.-1.json │ │ ├── n_number_.2e-3.json │ │ ├── n_number_0.1.2.json │ │ ├── n_number_0.3e+.json │ │ ├── n_number_0.3e.json │ │ ├── n_number_0.e1.json │ │ ├── n_number_0e+.json │ │ ├── n_number_1.0e+.json │ │ ├── n_number_1.0e-.json │ │ ├── n_number_1.0e.json │ │ ├── n_number_1eE2.json │ │ ├── n_number_2.e+3.json │ │ ├── n_number_2.e-3.json │ │ ├── n_number_2.e3.json │ │ ├── n_number_9.e+.json │ │ ├── n_number_Inf.json │ │ ├── n_number_NaN.json │ │ ├── n_object_emoji.json │ │ ├── n_object_no-colon.json │ │ ├── n_structure_no_data.json │ │ ├── y_array_false.json │ │ ├── y_array_null.json │ │ ├── y_number_0e+1.json │ │ ├── y_number_0e1.json │ │ ├── y_string_space.json │ │ ├── y_string_utf8.json │ │ ├── n_array_double_comma.json │ │ ├── n_array_extra_close.json │ │ ├── n_array_extra_comma.json │ │ ├── n_array_incomplete.json │ │ ├── n_array_star_inside.json │ │ ├── n_incomplete_false.json │ │ ├── n_incomplete_null.json │ │ ├── n_incomplete_true.json │ │ ├── n_number_0_capital_E+.json │ │ ├── n_number_0_capital_E.json │ │ ├── n_number_1_000.json │ │ ├── n_number_expression.json │ │ ├── n_number_hex_1_digit.json │ │ ├── n_number_invalid+-.json │ │ ├── n_object_missing_key.json │ │ ├── n_string_escape_x.json │ │ ├── n_structure_end_array.json │ │ ├── n_structure_open_object.json │ │ ├── n_structure_single_star.json │ │ ├── y_array_empty-string.json │ │ ├── y_number_after_space.json │ │ ├── y_number_minus_zero.json │ │ ├── y_number_negative_one.json │ │ ├── y_number_negative_zero.json │ │ ├── y_number_simple_int.json │ │ ├── y_object_empty_key.json │ │ ├── y_object_simple.json │ │ ├── y_string_in_array.json │ │ ├── y_string_unicode.json │ │ ├── y_string_unicode_2.json │ │ ├── y_structure_lonely_int.json │ │ ├── y_structure_string_empty.json │ │ ├── n_array_comma_after_close.json │ │ ├── n_array_comma_and_number.json │ │ ├── n_array_missing_value.json │ │ ├── n_array_number_and_comma.json │ │ ├── n_multidigit_number_then_00.json │ │ ├── n_number_hex_2_digits.json │ │ ├── n_number_infinity.json │ │ ├── n_number_minus_space_1.json │ │ ├── n_number_with_alpha.json │ │ ├── n_number_with_leading_zero.json │ │ ├── n_object_bad_value.json │ │ ├── n_object_double_colon.json │ │ ├── n_object_missing_colon.json │ │ ├── n_object_missing_value.json │ │ ├── n_object_non_string_key.json │ │ ├── n_object_single_quote.json │ │ ├── n_object_unquoted_key.json │ │ ├── n_string_backslash_00.json │ │ ├── n_string_escaped_emoji.json │ │ ├── n_string_incomplete_escape.json │ │ ├── n_string_single_doublequote.json │ │ ├── n_string_unescaped_tab.json │ │ ├── n_structure_UTF8_BOM_no_data.json │ │ ├── n_structure_angle_bracket_..json │ │ ├── n_structure_double_array.json │ │ ├── n_structure_lone-open-bracket.json │ │ ├── n_structure_open_array_comma.json │ │ ├── n_structure_open_object_comma.json │ │ ├── n_structure_unclosed_array.json │ │ ├── n_structure_unicode-identifier.json │ │ ├── y_array_arraysWithSpaces.json │ │ ├── y_array_with_leading_space.json │ │ ├── y_array_with_trailing_space.json │ │ ├── y_number_int_with_exp.json │ │ ├── y_number_negative_int.json │ │ ├── y_number_real_capital_e.json │ │ ├── y_number_real_exponent.json │ │ ├── y_number_real_neg_exp.json │ │ ├── y_object_basic.json │ │ ├── y_string_double_escape_a.json │ │ ├── y_string_double_escape_n.json │ │ ├── y_string_null_escape.json │ │ ├── y_string_simple_ascii.json │ │ ├── y_string_u+2028_line_sep.json │ │ ├── y_string_u+2029_par_sep.json │ │ ├── y_structure_lonely_false.json │ │ ├── y_structure_lonely_null.json │ │ ├── y_structure_lonely_string.json │ │ ├── y_structure_lonely_true.json │ │ ├── y_structure_true_in_array.json │ │ ├── i_number_neg_int_huge_exp.json │ │ ├── i_structure_UTF-8_BOM_empty_object.json │ │ ├── n_array_1_true_without_comma.json │ │ ├── n_array_double_extra_comma.json │ │ ├── n_array_incomplete_invalid_value.json │ │ ├── n_array_inner_array_no_comma.json │ │ ├── n_array_unclosed_trailing_comma.json │ │ ├── n_number_minus_infinity.json │ │ ├── n_number_real_garbage_after_e.json │ │ ├── n_number_starting_with_dot.json │ │ ├── n_object_bracket_key.json │ │ ├── n_object_garbage_at_end.json │ │ ├── n_object_missing_semicolon.json │ │ ├── n_object_trailing_comma.json │ │ ├── n_object_unterminated-value.json │ │ ├── n_string_escaped_ctrl_char_tab.json │ │ ├── n_string_invalid_backslash_esc.json │ │ ├── n_string_start_escape_unclosed.json │ │ ├── n_string_unescaped_crtl_char.json │ │ ├── n_string_unicode_CapitalU.json │ │ ├── n_string_with_trailing_garbage.json │ │ ├── n_structure_U+2060_word_joined.json │ │ ├── n_structure_capitalized_True.json │ │ ├── n_structure_close_unopened_array.json │ │ ├── n_structure_open_array_apostrophe.json │ │ ├── n_structure_open_array_open_object.json │ │ ├── n_structure_open_array_string.json │ │ ├── n_structure_open_object_open_array.json │ │ ├── n_structure_trailing_#.json │ │ ├── n_structure_whitespace_formfeed.json │ │ ├── y_array_ending_with_newline.json │ │ ├── y_array_with_1_and_newline.json │ │ ├── y_number_real_pos_exponent.json │ │ ├── y_number_simple_real.json │ │ ├── y_object.json │ │ ├── y_string_comments.json │ │ ├── y_string_one-byte-utf-8.json │ │ ├── y_string_three-byte-utf-8.json │ │ ├── y_string_two-byte-utf-8.json │ │ ├── y_string_unescaped_char_delete.json │ │ ├── y_string_with_del_character.json │ │ ├── y_structure_lonely_negative_real.json │ │ ├── y_structure_whitespace_array.json │ │ ├── i_number_pos_double_huge_exp.json │ │ ├── i_number_real_pos_overflow.json │ │ ├── i_number_real_underflow.json │ │ ├── i_string_invalid_surrogate.json │ │ ├── i_string_lone_second_surrogate.json │ │ ├── n_array_colon_instead_of_comma.json │ │ ├── n_array_items_separated_by_semicolon.json │ │ ├── n_array_number_and_several_commas.json │ │ ├── n_array_unclosed_with_object_inside.json │ │ ├── n_number_U+FF11_fullwidth_digit_one.json │ │ ├── n_number_neg_int_starting_with_zero.json │ │ ├── n_number_neg_real_without_int_part.json │ │ ├── n_number_neg_with_garbage_at_end.json │ │ ├── n_number_real_without_fractional_part.json │ │ ├── n_object_trailing_comment.json │ │ ├── n_object_with_trailing_garbage.json │ │ ├── n_string_accentuated_char_no_quotes.json │ │ ├── n_string_escaped_backslash_bad.json │ │ ├── n_string_invalid_unicode_escape.json │ │ ├── n_string_no_quotes_with_bad_escape.json │ │ ├── n_string_single_quote.json │ │ ├── n_structure_angle_bracket_null.json │ │ ├── n_structure_array_trailing_garbage.json │ │ ├── n_structure_ascii-unicode-identifier.json │ │ ├── n_structure_null-byte-outside-string.json │ │ ├── n_structure_object_unclosed_no_value.json │ │ ├── n_structure_open_array_open_string.json │ │ ├── n_structure_open_object_close_array.json │ │ ├── n_structure_open_object_open_string.json │ │ ├── n_structure_open_open.json │ │ ├── n_structure_unclosed_object.json │ │ ├── y_array_heterogeneous.json │ │ ├── y_number_real_capital_e_neg_exp.json │ │ ├── y_number_real_capital_e_pos_exp.json │ │ ├── y_object_duplicated_key.json │ │ ├── y_string_backslash_doublequotes.json │ │ ├── y_string_escaped_noncharacter.json │ │ ├── y_string_nbsp_uescaped.json │ │ ├── y_string_nonCharacterInUTF-8_U+FFFF.json │ │ ├── y_string_unicode_U+FDD0_nonchar.json │ │ ├── y_string_unicode_U+FFFE_nonchar.json │ │ ├── y_structure_trailing_newline.json │ │ ├── i_number_double_huge_neg_exp.json │ │ ├── i_number_real_neg_overflow.json │ │ ├── i_object_key_lone_2nd_surrogate.json │ │ ├── i_string_incomplete_surrogate_pair.json │ │ ├── i_string_invalid_lonely_surrogate.json │ │ ├── n_array_newlines_unclosed.json │ │ ├── n_array_spaces_vertical_tab_formfeed.json │ │ ├── n_number_invalid-negative-real.json │ │ ├── n_object_comma_instead_of_colon.json │ │ ├── n_object_key_with_single_quotes.json │ │ ├── n_object_several_trailing_commas.json │ │ ├── n_object_trailing_comment_open.json │ │ ├── n_object_two_commas_in_a_row.json │ │ ├── n_string_1_surrogate_then_escape.json │ │ ├── n_string_1_surrogate_then_escape_u.json │ │ ├── n_string_incomplete_escaped_character.json │ │ ├── n_string_incomplete_surrogate.json │ │ ├── n_string_single_string_no_double_quotes.json │ │ ├── n_string_unescaped_newline.json │ │ ├── n_structure_array_with_extra_array_close.json │ │ ├── n_structure_array_with_unclosed_string.json │ │ ├── n_structure_number_with_trailing_garbage.json │ │ ├── n_structure_whitespace_U+2060_word_joiner.json │ │ ├── y_array_with_several_null.json │ │ ├── y_number_real_fraction_exponent.json │ │ ├── y_object_with_newlines.json │ │ ├── y_string_allowed_escapes.json │ │ ├── y_string_escaped_control_character.json │ │ ├── y_string_in_array_with_leading_space.json │ │ ├── y_string_nonCharacterInUTF-8_U+10FFFF.json │ │ ├── y_string_uEscape.json │ │ ├── y_string_uescaped_newline.json │ │ ├── y_string_unicodeEscapedBackslash.json │ │ ├── i_number_too_big_pos_int.json │ │ ├── i_string_1st_surrogate_but_2nd_missing.json │ │ ├── n_array_unclosed_with_new_lines.json │ │ ├── n_number_minus_sign_with_trailing_garbage.json │ │ ├── n_number_with_alpha_char.json │ │ ├── n_object_repeated_null_null.json │ │ ├── n_object_trailing_comment_slash_open.json │ │ ├── n_object_with_single_string.json │ │ ├── n_string_1_surrogate_then_escape_u1.json │ │ ├── n_string_1_surrogate_then_escape_u1x.json │ │ ├── n_string_leading_uescaped_thinspace.json │ │ ├── n_structure_object_followed_by_closing_object.json │ │ ├── n_structure_object_with_comment.json │ │ ├── n_structure_open_object_string_with_apostrophes.json │ │ ├── n_structure_uescaped_LF_before_string.json │ │ ├── n_structure_unclosed_array_partial_null.json │ │ ├── y_object_duplicated_key_and_value.json │ │ ├── y_object_escaped_null_in_key.json │ │ ├── y_string_accepted_surrogate_pair.json │ │ ├── y_string_backslash_and_u_escaped_zero.json │ │ ├── y_string_last_surrogates_1_and_2.json │ │ ├── y_string_reservedCharacterInUTF-8_U+1BFFF.json │ │ ├── y_string_unicode_U+10FFFE_nonchar.json │ │ ├── y_string_unicode_U+1FFFE_nonchar.json │ │ ├── y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json │ │ ├── y_string_unicode_U+2064_invisible_plus.json │ │ ├── y_string_unicode_escaped_double_quote.json │ │ ├── i_string_1st_valid_surrogate_2nd_invalid.json │ │ ├── i_string_inverted_surrogates_U+1D11E.json │ │ ├── n_structure_comma_instead_of_closing_brace.json │ │ ├── n_structure_object_with_trailing_garbage.json │ │ ├── n_structure_unclosed_array_unfinished_false.json │ │ ├── n_structure_unclosed_array_unfinished_true.json │ │ ├── i_number_too_big_neg_int.json │ │ ├── i_string_incomplete_surrogate_and_escape_valid.json │ │ ├── i_string_incomplete_surrogates_escape_valid.json │ │ ├── n_object_non_string_key_but_huge_number_instead.json │ │ ├── n_object_trailing_comment_slash_open_incomplete.json │ │ ├── y_object_extreme_numbers.json │ │ ├── y_string_1_2_3_bytes_UTF-8_sequences.json │ │ ├── y_string_accepted_surrogate_pairs.json │ │ ├── n_string_incomplete_surrogate_escape_invalid.json │ │ ├── y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json │ │ ├── i_number_very_big_negative_int.json │ │ ├── y_number_double_close_to_zero.json │ │ ├── y_object_long_strings.json │ │ ├── y_object_string_unicode.json │ │ ├── i_string_iso_latin_1.json │ │ ├── n_array_invalid_utf8.json │ │ ├── i_string_invalid_utf-8.json │ │ ├── i_string_truncated-utf-8.json │ │ ├── i_string_utf16BE_no_BOM.json │ │ ├── i_string_utf16LE_no_BOM.json │ │ ├── n_array_a_invalid_utf8.json │ │ ├── i_string_UTF-16LE_with_BOM.json │ │ ├── n_structure_single_eacute.json │ │ ├── i_number_huge_exp.json │ │ ├── i_string_not_in_unicode_range.json │ │ ├── n_number_invalid-utf-8-in-int.json │ │ ├── i_string_UTF-8_invalid_sequence.json │ │ ├── i_string_UTF8_surrogate_U+D800.json │ │ ├── n_structure_incomplete_UTF8_BOM.json │ │ ├── n_structure_lone-invalid-utf-8.json │ │ ├── i_string_overlong_sequence_2_bytes.json │ │ ├── i_string_overlong_sequence_6_bytes.json │ │ ├── n_number_invalid-utf-8-in-exponent.json │ │ ├── n_string_invalid-utf-8-in-escape.json │ │ ├── n_string_invalid_utf8_after_escape.json │ │ ├── i_string_lone_utf8_continuation_byte.json │ │ ├── n_number_invalid-utf-8-in-bigger-int.json │ │ ├── i_string_overlong_sequence_6_bytes_null.json │ │ ├── n_number_real_with_invalid_utf8_after_e.json │ │ ├── n_object_lone_continuation_byte_in_key_and_trailing_comma.json │ │ └── i_structure_500_nested_arrays.json │ ├── test_transform │ │ ├── number_1.0.json │ │ ├── number_1e6.json │ │ ├── number_1e-999.json │ │ ├── object_same_key_same_value.json │ │ ├── string_with_escaped_NULL.json │ │ ├── object_key_nfc_nfd.json │ │ ├── object_key_nfd_nfc.json │ │ ├── string_1_escaped_invalid_codepoint.json │ │ ├── number_1000000000000000.json │ │ ├── object_same_key_different_values.json │ │ ├── number_-9223372036854775808.json │ │ ├── number_-9223372036854775809.json │ │ ├── number_1.000000000000000005.json │ │ ├── number_10000000000000000999.json │ │ ├── number_9223372036854775807.json │ │ ├── number_9223372036854775808.json │ │ ├── object_same_key_unclear_values.json │ │ ├── string_2_escaped_invalid_codepoints.json │ │ ├── string_3_escaped_invalid_codepoints.json │ │ ├── string_1_invalid_codepoint.json │ │ ├── string_2_invalid_codepoints.json │ │ └── string_3_invalid_codepoints.json │ ├── test_json-rust │ │ ├── tj-b5d63a9d8da2968e │ │ │ ├── bin-tj │ │ │ ├── dep-bin-tj │ │ │ └── bin-tj.json │ │ ├── tj-bb890ae6f101bb25 │ │ │ ├── bin-tj │ │ │ ├── dep-bin-tj │ │ │ └── bin-tj.json │ │ ├── tj-bf24d0bdc8d0f4d6 │ │ │ ├── bin-tj │ │ │ ├── dep-bin-tj │ │ │ └── bin-tj.json │ │ └── json-74a82b4ec4439e90 │ │ │ ├── lib-json │ │ │ ├── lib-json.json │ │ │ └── dep-lib-json │ ├── test_json-rustc_serialize │ │ ├── rj-8f8b750d20f3bf10 │ │ │ ├── bin-rj │ │ │ ├── dep-bin-rj │ │ │ └── bin-rj.json │ │ ├── rj-da0f8f63b87cf531 │ │ │ ├── bin-rj │ │ │ ├── dep-bin-rj │ │ │ └── bin-rj.json │ │ └── rustc-serialize-80c565222c5ccdbb │ │ │ ├── lib-rustc-serialize │ │ │ ├── lib-rustc-serialize.json │ │ │ └── dep-lib-rustc-serialize │ └── test_Json.NET │ │ ├── test_Json.NET.runtimeconfig.json │ │ ├── project.json │ │ └── test_Json.NET.deps.json │ └── java │ └── com │ └── republicate │ └── json │ ├── BaseTestUnit.java │ └── EssentialJsonTest.java ├── CHANGELOG.md ├── README.md ├── pom.xml └── LICENSE /src/test/resources/nst_files/n_2.json: -------------------------------------------------------------------------------- 1 | " -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_11.json: -------------------------------------------------------------------------------- 1 | [1:2} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_127.json: -------------------------------------------------------------------------------- 1 | [32, -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_13.json: -------------------------------------------------------------------------------- 1 | {1:2} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_136.json: -------------------------------------------------------------------------------- 1 | 3. -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_137.json: -------------------------------------------------------------------------------- 1 | .3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_139.json: -------------------------------------------------------------------------------- 1 | 0.3e -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_145.json: -------------------------------------------------------------------------------- 1 | +3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_147.json: -------------------------------------------------------------------------------- 1 | -3. -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_149.json: -------------------------------------------------------------------------------- 1 | .5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_150.json: -------------------------------------------------------------------------------- 1 | 5. -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_151.json: -------------------------------------------------------------------------------- 1 | 5.e1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_153.json: -------------------------------------------------------------------------------- 1 | .3e1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_164.json: -------------------------------------------------------------------------------- 1 | 9.e+ -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_173.json: -------------------------------------------------------------------------------- 1 | [.5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_20.json: -------------------------------------------------------------------------------- 1 | [,2] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_21.json: -------------------------------------------------------------------------------- 1 | "3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_211.json: -------------------------------------------------------------------------------- 1 | '"' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_216.json: -------------------------------------------------------------------------------- 1 | nil -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_217.json: -------------------------------------------------------------------------------- 1 | fals -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_23.json: -------------------------------------------------------------------------------- 1 | [3[4] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_3.json: -------------------------------------------------------------------------------- 1 | [,] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_30.json: -------------------------------------------------------------------------------- 1 | "hi -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_4.json: -------------------------------------------------------------------------------- 1 | [) -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_40.json: -------------------------------------------------------------------------------- 1 | . -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_44.json: -------------------------------------------------------------------------------- 1 | +. -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_46.json: -------------------------------------------------------------------------------- 1 | 0.e1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_5.json: -------------------------------------------------------------------------------- 1 | []] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_54.json: -------------------------------------------------------------------------------- 1 | +1234 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_6.json: -------------------------------------------------------------------------------- 1 | [} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_66.json: -------------------------------------------------------------------------------- 1 | .3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_69.json: -------------------------------------------------------------------------------- 1 | +3. -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_7.json: -------------------------------------------------------------------------------- 1 | {,} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_77.json: -------------------------------------------------------------------------------- 1 | +3.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_78.json: -------------------------------------------------------------------------------- 1 | .3e -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_79.json: -------------------------------------------------------------------------------- 1 | .3e1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_8.json: -------------------------------------------------------------------------------- 1 | {] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_80.json: -------------------------------------------------------------------------------- 1 | .3e-1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_81.json: -------------------------------------------------------------------------------- 1 | .3e+1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_82.json: -------------------------------------------------------------------------------- 1 | 3.e1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_83.json: -------------------------------------------------------------------------------- 1 | 3.e+1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_85.json: -------------------------------------------------------------------------------- 1 | .5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_86.json: -------------------------------------------------------------------------------- 1 | +.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_87.json: -------------------------------------------------------------------------------- 1 | .5e+1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_105.json: -------------------------------------------------------------------------------- 1 | "hi" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_129.json: -------------------------------------------------------------------------------- 1 | "\n" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_135.json: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_138.json: -------------------------------------------------------------------------------- 1 | 0.3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_146.json: -------------------------------------------------------------------------------- 1 | -3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_148.json: -------------------------------------------------------------------------------- 1 | -3.1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_152.json: -------------------------------------------------------------------------------- 1 | 0.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_166.json: -------------------------------------------------------------------------------- 1 | "\"" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_41.json: -------------------------------------------------------------------------------- 1 | "" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_42.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_43.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_45.json: -------------------------------------------------------------------------------- 1 | 0.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_51.json: -------------------------------------------------------------------------------- 1 | 1234 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_52.json: -------------------------------------------------------------------------------- 1 | -1234 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_62.json: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_65.json: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_67.json: -------------------------------------------------------------------------------- 1 | "3" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_68.json: -------------------------------------------------------------------------------- 1 | [3] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_84.json: -------------------------------------------------------------------------------- 1 | 3e+1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_88.json: -------------------------------------------------------------------------------- 1 | [ 7] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_89.json: -------------------------------------------------------------------------------- 1 | [7 ] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_90.json: -------------------------------------------------------------------------------- 1 | [7] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_10.json: -------------------------------------------------------------------------------- 1 | [1,2,] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_12.json: -------------------------------------------------------------------------------- 1 | {"1":2,} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_125.json: -------------------------------------------------------------------------------- 1 | hello -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_140.json: -------------------------------------------------------------------------------- 1 | 0.3e+ -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_154.json: -------------------------------------------------------------------------------- 1 | .3e+1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_155.json: -------------------------------------------------------------------------------- 1 | .3e-1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_156.json: -------------------------------------------------------------------------------- 1 | .3e-1 .5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_157.json: -------------------------------------------------------------------------------- 1 | .3e-1.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_158.json: -------------------------------------------------------------------------------- 1 | .3e+1.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_159.json: -------------------------------------------------------------------------------- 1 | .3e+. -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_160.json: -------------------------------------------------------------------------------- 1 | .3e+.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_161.json: -------------------------------------------------------------------------------- 1 | .3e+1.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_162.json: -------------------------------------------------------------------------------- 1 | 9.3e+1.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_163.json: -------------------------------------------------------------------------------- 1 | 9.e+1.5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_165.json: -------------------------------------------------------------------------------- 1 | 9.e+1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_169.json: -------------------------------------------------------------------------------- 1 | "\".". -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_177.json: -------------------------------------------------------------------------------- 1 | ["\"",.5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_19.json: -------------------------------------------------------------------------------- 1 | "1\u2" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_197.json: -------------------------------------------------------------------------------- 1 | "hello\'" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_198.json: -------------------------------------------------------------------------------- 1 | 'hello\'' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_199.json: -------------------------------------------------------------------------------- 1 | 'hello' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_200.json: -------------------------------------------------------------------------------- 1 | 'hell\'o' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_201.json: -------------------------------------------------------------------------------- 1 | '\'hello' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_203.json: -------------------------------------------------------------------------------- 1 | \'hello\' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_204.json: -------------------------------------------------------------------------------- 1 | 'hello\' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_210.json: -------------------------------------------------------------------------------- 1 | ['"'] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_212.json: -------------------------------------------------------------------------------- 1 | '"hello"' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_213.json: -------------------------------------------------------------------------------- 1 | '"hello' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_214.json: -------------------------------------------------------------------------------- 1 | '"hi"' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_218.json: -------------------------------------------------------------------------------- 1 | falsify -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_219.json: -------------------------------------------------------------------------------- 1 | falsetto -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_22.json: -------------------------------------------------------------------------------- 1 | "3" "4" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_220.json: -------------------------------------------------------------------------------- 1 | truism -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_221.json: -------------------------------------------------------------------------------- 1 | {"key" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_223.json: -------------------------------------------------------------------------------- 1 | "\u0000" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_24.json: -------------------------------------------------------------------------------- 1 | [3[4]] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_31.json: -------------------------------------------------------------------------------- 1 | "hi""" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_36.json: -------------------------------------------------------------------------------- 1 | "\uDB00" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_55.json: -------------------------------------------------------------------------------- 1 | ++1234 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_59.json: -------------------------------------------------------------------------------- 1 | 123.e-142 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_63.json: -------------------------------------------------------------------------------- 1 | .246e-142 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_64.json: -------------------------------------------------------------------------------- 1 | .2e-142 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_9.json: -------------------------------------------------------------------------------- 1 | ["1":2] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_91.json: -------------------------------------------------------------------------------- 1 | .e-14234 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_106.json: -------------------------------------------------------------------------------- 1 | ["hi"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_111.json: -------------------------------------------------------------------------------- 1 | "\u0007" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_112.json: -------------------------------------------------------------------------------- 1 | "\u0008" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_113.json: -------------------------------------------------------------------------------- 1 | "\u0009" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_114.json: -------------------------------------------------------------------------------- 1 | "\u0010" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_115.json: -------------------------------------------------------------------------------- 1 | "\u0020" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_116.json: -------------------------------------------------------------------------------- 1 | "\u10000" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_117.json: -------------------------------------------------------------------------------- 1 | "\u1234" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_118.json: -------------------------------------------------------------------------------- 1 | "\u99999" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_123.json: -------------------------------------------------------------------------------- 1 | "\uFFFD" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_124.json: -------------------------------------------------------------------------------- 1 | "\uFFFF" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_126.json: -------------------------------------------------------------------------------- 1 | [32, 1] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_130.json: -------------------------------------------------------------------------------- 1 | "hello" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_132.json: -------------------------------------------------------------------------------- 1 | "hello" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_133.json: -------------------------------------------------------------------------------- 1 | "hello\n" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_134.json: -------------------------------------------------------------------------------- 1 | "hello" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_141.json: -------------------------------------------------------------------------------- 1 | 0.3e+5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_142.json: -------------------------------------------------------------------------------- 1 | 0.3e-5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_143.json: -------------------------------------------------------------------------------- 1 | 0.3e5 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_144.json: -------------------------------------------------------------------------------- 1 | "hello" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_167.json: -------------------------------------------------------------------------------- 1 | "\"3.5" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_168.json: -------------------------------------------------------------------------------- 1 | "\"." -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_170.json: -------------------------------------------------------------------------------- 1 | "\"....." -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_196.json: -------------------------------------------------------------------------------- 1 | "\u0027" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_38.json: -------------------------------------------------------------------------------- 1 | "\uFFFE" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_39.json: -------------------------------------------------------------------------------- 1 | "\uFFFF" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_47.json: -------------------------------------------------------------------------------- 1 | {"1":{}} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_48.json: -------------------------------------------------------------------------------- 1 | {"1":2} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_60.json: -------------------------------------------------------------------------------- 1 | "1\u2000" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_61.json: -------------------------------------------------------------------------------- 1 | "1\u20001" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_70.json: -------------------------------------------------------------------------------- 1 | 3.2e+1 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_71.json: -------------------------------------------------------------------------------- 1 | [3, [4]] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_92.json: -------------------------------------------------------------------------------- 1 | "hello" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_93.json: -------------------------------------------------------------------------------- 1 | ["hello"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_171.json: -------------------------------------------------------------------------------- 1 | "\"\"\"\""" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_178.json: -------------------------------------------------------------------------------- 1 | ["\".5",.5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_18.json: -------------------------------------------------------------------------------- 1 | {"1":2, "3":4 -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_202.json: -------------------------------------------------------------------------------- 1 | '\'hello\'' -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_205.json: -------------------------------------------------------------------------------- 1 | ['hello\'] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_206.json: -------------------------------------------------------------------------------- 1 | ['hello\''] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_207.json: -------------------------------------------------------------------------------- 1 | ['hello"'] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_208.json: -------------------------------------------------------------------------------- 1 | ['hello\"'] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_209.json: -------------------------------------------------------------------------------- 1 | ['hello"o'] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_32.json: -------------------------------------------------------------------------------- 1 | {"hi": "bye"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_33.json: -------------------------------------------------------------------------------- 1 | "\uD800\uD800" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_34.json: -------------------------------------------------------------------------------- 1 | "\uD800\uDBFF" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_35.json: -------------------------------------------------------------------------------- 1 | "\UD834\UDD1E" -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_37.json: -------------------------------------------------------------------------------- 1 | "\uDB00\uDBFF" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_102.json: -------------------------------------------------------------------------------- 1 | {"hello":true} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_107.json: -------------------------------------------------------------------------------- 1 | ["hi", "bye"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_108.json: -------------------------------------------------------------------------------- 1 | {"hi": "bye"} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_119.json: -------------------------------------------------------------------------------- 1 | "\ud800\udc00" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_120.json: -------------------------------------------------------------------------------- 1 | "\uD800\uDC00" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_121.json: -------------------------------------------------------------------------------- 1 | "\uD834\uDD1E" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_122.json: -------------------------------------------------------------------------------- 1 | "\uDBFF\uDFFF" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_128.json: -------------------------------------------------------------------------------- 1 | "\uD800\uDC00" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_53.json: -------------------------------------------------------------------------------- 1 | {"1":2, "3":4} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_56.json: -------------------------------------------------------------------------------- 1 | 123.456e142 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_57.json: -------------------------------------------------------------------------------- 1 | 123.456e-142 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_58.json: -------------------------------------------------------------------------------- 1 | 123.456e+142 -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_72.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5]]] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_+1.json: -------------------------------------------------------------------------------- 1 | [+1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0e.json: -------------------------------------------------------------------------------- 1 | [0e] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_single_space.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_empty.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number.json: -------------------------------------------------------------------------------- 1 | [123e65] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_empty.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_pi.json: -------------------------------------------------------------------------------- 1 | ["π"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_172.json: -------------------------------------------------------------------------------- 1 | ["\"\"\"\"", .5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_175.json: -------------------------------------------------------------------------------- 1 | ["\"\"\"\"", .5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_176.json: -------------------------------------------------------------------------------- 1 | ["\"\"\"\"",.5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_179.json: -------------------------------------------------------------------------------- 1 | ["\".5",".5\"".5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_180.json: -------------------------------------------------------------------------------- 1 | ["\".5",".5\"", .5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_181.json: -------------------------------------------------------------------------------- 1 | ["\".5",".5\"",.5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_185.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}/* -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_186.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}/**/ -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_191.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}# -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_192.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}#{ -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_193.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}#{} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_194.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}#, -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_109.json: -------------------------------------------------------------------------------- 1 | ["hi", "bye", 3] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_110.json: -------------------------------------------------------------------------------- 1 | ["hi", "bye[", 3] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_131.json: -------------------------------------------------------------------------------- 1 | "hello\u0009world" -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_174.json: -------------------------------------------------------------------------------- 1 | ["\"\"\"\"", 0.5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_182.json: -------------------------------------------------------------------------------- 1 | ["\".5",".5\"",0.5] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_215.json: -------------------------------------------------------------------------------- 1 | [ 1 , 2 , 3 ] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_73.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5], 6]] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_74.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5], 6], 7] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_94.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_95.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye\n"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_just_comma.json: -------------------------------------------------------------------------------- 1 | [,] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_just_minus.json: -------------------------------------------------------------------------------- 1 | [-] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_unclosed.json: -------------------------------------------------------------------------------- 1 | ["" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_++.json: -------------------------------------------------------------------------------- 1 | [++1234] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_+Inf.json: -------------------------------------------------------------------------------- 1 | [+Inf] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_-01.json: -------------------------------------------------------------------------------- 1 | [-01] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_-1.0..json: -------------------------------------------------------------------------------- 1 | [-1.0.] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_-2..json: -------------------------------------------------------------------------------- 1 | [-2.] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_-NaN.json: -------------------------------------------------------------------------------- 1 | [-NaN] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_.-1.json: -------------------------------------------------------------------------------- 1 | [.-1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_.2e-3.json: -------------------------------------------------------------------------------- 1 | [.2e-3] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0.1.2.json: -------------------------------------------------------------------------------- 1 | [0.1.2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0.3e+.json: -------------------------------------------------------------------------------- 1 | [0.3e+] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0.3e.json: -------------------------------------------------------------------------------- 1 | [0.3e] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0.e1.json: -------------------------------------------------------------------------------- 1 | [0.e1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0e+.json: -------------------------------------------------------------------------------- 1 | [0e+] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_1.0e+.json: -------------------------------------------------------------------------------- 1 | [1.0e+] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_1.0e-.json: -------------------------------------------------------------------------------- 1 | [1.0e-] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_1.0e.json: -------------------------------------------------------------------------------- 1 | [1.0e] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_1eE2.json: -------------------------------------------------------------------------------- 1 | [1eE2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_2.e+3.json: -------------------------------------------------------------------------------- 1 | [2.e+3] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_2.e-3.json: -------------------------------------------------------------------------------- 1 | [2.e-3] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_2.e3.json: -------------------------------------------------------------------------------- 1 | [2.e3] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_9.e+.json: -------------------------------------------------------------------------------- 1 | [9.e+] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_Inf.json: -------------------------------------------------------------------------------- 1 | [Inf] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_NaN.json: -------------------------------------------------------------------------------- 1 | [NaN] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_emoji.json: -------------------------------------------------------------------------------- 1 | {🇨🇭} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_no-colon.json: -------------------------------------------------------------------------------- 1 | {"a" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_no_data.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_false.json: -------------------------------------------------------------------------------- 1 | [false] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_null.json: -------------------------------------------------------------------------------- 1 | [null] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_0e+1.json: -------------------------------------------------------------------------------- 1 | [0e+1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_0e1.json: -------------------------------------------------------------------------------- 1 | [0e1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_space.json: -------------------------------------------------------------------------------- 1 | " " -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_utf8.json: -------------------------------------------------------------------------------- 1 | ["€𝄞"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_101.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye\n\r\t\v"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_184.json: -------------------------------------------------------------------------------- 1 | {"key":/*comment"value"} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_187.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}/***/ -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_188.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}/**// -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_189.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}/**/// -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_222.json: -------------------------------------------------------------------------------- 1 | {"key","key2":value} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_25.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5], 6] 7, 8 9] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_26.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5], 6] 7, 8, 9] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_27.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5], 6], 7, 8 9] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_75.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5], 6], 7, 8] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_76.json: -------------------------------------------------------------------------------- 1 | [3, [4, [5], 6], 7, 8, 9] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_96.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye\n\r\t"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_97.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye\n\r\t\b"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_double_comma.json: -------------------------------------------------------------------------------- 1 | [1,,2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_extra_close.json: -------------------------------------------------------------------------------- 1 | ["x"]] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_extra_comma.json: -------------------------------------------------------------------------------- 1 | ["",] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_incomplete.json: -------------------------------------------------------------------------------- 1 | ["x" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_star_inside.json: -------------------------------------------------------------------------------- 1 | [*] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_incomplete_false.json: -------------------------------------------------------------------------------- 1 | [fals] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_incomplete_null.json: -------------------------------------------------------------------------------- 1 | [nul] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_incomplete_true.json: -------------------------------------------------------------------------------- 1 | [tru] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0_capital_E+.json: -------------------------------------------------------------------------------- 1 | [0E+] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_0_capital_E.json: -------------------------------------------------------------------------------- 1 | [0E] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_1_000.json: -------------------------------------------------------------------------------- 1 | [1 000.0] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_expression.json: -------------------------------------------------------------------------------- 1 | [1+2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_hex_1_digit.json: -------------------------------------------------------------------------------- 1 | [0x1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_invalid+-.json: -------------------------------------------------------------------------------- 1 | [0e+-1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_missing_key.json: -------------------------------------------------------------------------------- 1 | {:"b"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_escape_x.json: -------------------------------------------------------------------------------- 1 | ["\x00"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_end_array.json: -------------------------------------------------------------------------------- 1 | ] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_object.json: -------------------------------------------------------------------------------- 1 | { -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_single_star.json: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_empty-string.json: -------------------------------------------------------------------------------- 1 | [""] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_after_space.json: -------------------------------------------------------------------------------- 1 | [ 4] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_minus_zero.json: -------------------------------------------------------------------------------- 1 | [-0] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_negative_one.json: -------------------------------------------------------------------------------- 1 | [-1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_negative_zero.json: -------------------------------------------------------------------------------- 1 | [-0] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_simple_int.json: -------------------------------------------------------------------------------- 1 | [123] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_empty_key.json: -------------------------------------------------------------------------------- 1 | {"":0} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_simple.json: -------------------------------------------------------------------------------- 1 | {"a":[]} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_in_array.json: -------------------------------------------------------------------------------- 1 | ["asd"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode.json: -------------------------------------------------------------------------------- 1 | ["\uA66D"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_2.json: -------------------------------------------------------------------------------- 1 | ["⍂㈴⍂"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_lonely_int.json: -------------------------------------------------------------------------------- 1 | 42 -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_string_empty.json: -------------------------------------------------------------------------------- 1 | "" -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_1.0.json: -------------------------------------------------------------------------------- 1 | [1.0] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_1e6.json: -------------------------------------------------------------------------------- 1 | [1E6] 2 | -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_183.json: -------------------------------------------------------------------------------- 1 | {"key":/*comment*/"value"} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_190.json: -------------------------------------------------------------------------------- 1 | {"key":"value"}/**///---- -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_103.json: -------------------------------------------------------------------------------- 1 | {"hello":true, "bye":false} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_98.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye\n\r\t\b",true] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_comma_after_close.json: -------------------------------------------------------------------------------- 1 | [""], -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_comma_and_number.json: -------------------------------------------------------------------------------- 1 | [,1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_missing_value.json: -------------------------------------------------------------------------------- 1 | [ , ""] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_number_and_comma.json: -------------------------------------------------------------------------------- 1 | [1,] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_multidigit_number_then_00.json: -------------------------------------------------------------------------------- 1 | 123 -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_hex_2_digits.json: -------------------------------------------------------------------------------- 1 | [0x42] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_infinity.json: -------------------------------------------------------------------------------- 1 | [Infinity] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_minus_space_1.json: -------------------------------------------------------------------------------- 1 | [- 1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_with_alpha.json: -------------------------------------------------------------------------------- 1 | [1.2a-3] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_with_leading_zero.json: -------------------------------------------------------------------------------- 1 | [012] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_bad_value.json: -------------------------------------------------------------------------------- 1 | ["x", truth] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_double_colon.json: -------------------------------------------------------------------------------- 1 | {"x"::"b"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_missing_colon.json: -------------------------------------------------------------------------------- 1 | {"a" b} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_missing_value.json: -------------------------------------------------------------------------------- 1 | {"a": -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_non_string_key.json: -------------------------------------------------------------------------------- 1 | {1:1} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_single_quote.json: -------------------------------------------------------------------------------- 1 | {'a':0} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_unquoted_key.json: -------------------------------------------------------------------------------- 1 | {a: "b"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_backslash_00.json: -------------------------------------------------------------------------------- 1 | ["\"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_escaped_emoji.json: -------------------------------------------------------------------------------- 1 | ["\🌀"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_incomplete_escape.json: -------------------------------------------------------------------------------- 1 | ["\"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_single_doublequote.json: -------------------------------------------------------------------------------- 1 | " -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_unescaped_tab.json: -------------------------------------------------------------------------------- 1 | [" "] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_UTF8_BOM_no_data.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_angle_bracket_..json: -------------------------------------------------------------------------------- 1 | <.> -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_double_array.json: -------------------------------------------------------------------------------- 1 | [][] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_lone-open-bracket.json: -------------------------------------------------------------------------------- 1 | [ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_array_comma.json: -------------------------------------------------------------------------------- 1 | [, -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_object_comma.json: -------------------------------------------------------------------------------- 1 | {, -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_unclosed_array.json: -------------------------------------------------------------------------------- 1 | [1 -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_unicode-identifier.json: -------------------------------------------------------------------------------- 1 | å -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_arraysWithSpaces.json: -------------------------------------------------------------------------------- 1 | [[] ] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_with_leading_space.json: -------------------------------------------------------------------------------- 1 | [1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_with_trailing_space.json: -------------------------------------------------------------------------------- 1 | [2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_int_with_exp.json: -------------------------------------------------------------------------------- 1 | [20e1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_negative_int.json: -------------------------------------------------------------------------------- 1 | [-123] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_real_capital_e.json: -------------------------------------------------------------------------------- 1 | [1E22] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_real_exponent.json: -------------------------------------------------------------------------------- 1 | [123e45] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_real_neg_exp.json: -------------------------------------------------------------------------------- 1 | [1e-2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_basic.json: -------------------------------------------------------------------------------- 1 | {"asd":"sdf"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_double_escape_a.json: -------------------------------------------------------------------------------- 1 | ["\\a"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_double_escape_n.json: -------------------------------------------------------------------------------- 1 | ["\\n"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_null_escape.json: -------------------------------------------------------------------------------- 1 | ["\u0000"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_simple_ascii.json: -------------------------------------------------------------------------------- 1 | ["asd "] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_u+2028_line_sep.json: -------------------------------------------------------------------------------- 1 | ["
"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_u+2029_par_sep.json: -------------------------------------------------------------------------------- 1 | ["
"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_lonely_false.json: -------------------------------------------------------------------------------- 1 | false -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_lonely_null.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_lonely_string.json: -------------------------------------------------------------------------------- 1 | "asd" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_lonely_true.json: -------------------------------------------------------------------------------- 1 | true -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_true_in_array.json: -------------------------------------------------------------------------------- 1 | [true] -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_1e-999.json: -------------------------------------------------------------------------------- 1 | [1E-999] 2 | -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_195.json: -------------------------------------------------------------------------------- 1 | {"key":"value"/**/, "k2":"v2"} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_28.json: -------------------------------------------------------------------------------- 1 | {"hello":true, "bye":false, null} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_neg_int_huge_exp.json: -------------------------------------------------------------------------------- 1 | [-1e+9999] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_structure_UTF-8_BOM_empty_object.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_1_true_without_comma.json: -------------------------------------------------------------------------------- 1 | [1 true] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_double_extra_comma.json: -------------------------------------------------------------------------------- 1 | ["x",,] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_incomplete_invalid_value.json: -------------------------------------------------------------------------------- 1 | [x -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_inner_array_no_comma.json: -------------------------------------------------------------------------------- 1 | [3[4]] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_unclosed_trailing_comma.json: -------------------------------------------------------------------------------- 1 | [1, -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_minus_infinity.json: -------------------------------------------------------------------------------- 1 | [-Infinity] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_real_garbage_after_e.json: -------------------------------------------------------------------------------- 1 | [1ea] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_starting_with_dot.json: -------------------------------------------------------------------------------- 1 | [.123] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_bracket_key.json: -------------------------------------------------------------------------------- 1 | {[: "x"} 2 | -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_garbage_at_end.json: -------------------------------------------------------------------------------- 1 | {"a":"a" 123} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_missing_semicolon.json: -------------------------------------------------------------------------------- 1 | {"a" "b"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_trailing_comma.json: -------------------------------------------------------------------------------- 1 | {"id":0,} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_unterminated-value.json: -------------------------------------------------------------------------------- 1 | {"a":"a -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_escaped_ctrl_char_tab.json: -------------------------------------------------------------------------------- 1 | ["\ "] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_invalid_backslash_esc.json: -------------------------------------------------------------------------------- 1 | ["\a"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_start_escape_unclosed.json: -------------------------------------------------------------------------------- 1 | ["\ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_unescaped_crtl_char.json: -------------------------------------------------------------------------------- 1 | ["aa"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_unicode_CapitalU.json: -------------------------------------------------------------------------------- 1 | "\UA66D" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | ""x -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_U+2060_word_joined.json: -------------------------------------------------------------------------------- 1 | [⁠] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_capitalized_True.json: -------------------------------------------------------------------------------- 1 | [True] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_close_unopened_array.json: -------------------------------------------------------------------------------- 1 | 1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_array_apostrophe.json: -------------------------------------------------------------------------------- 1 | [' -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_array_open_object.json: -------------------------------------------------------------------------------- 1 | [{ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_array_string.json: -------------------------------------------------------------------------------- 1 | ["a" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_object_open_array.json: -------------------------------------------------------------------------------- 1 | {[ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_trailing_#.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}#{} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_whitespace_formfeed.json: -------------------------------------------------------------------------------- 1 | [ ] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_ending_with_newline.json: -------------------------------------------------------------------------------- 1 | ["a"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_with_1_and_newline.json: -------------------------------------------------------------------------------- 1 | [1 2 | ] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_real_pos_exponent.json: -------------------------------------------------------------------------------- 1 | [1e+2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_simple_real.json: -------------------------------------------------------------------------------- 1 | [123.456789] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object.json: -------------------------------------------------------------------------------- 1 | {"asd":"sdf", "dfg":"fgh"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_comments.json: -------------------------------------------------------------------------------- 1 | ["a/*b*/c/*d//e"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_one-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u002c"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_three-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0821"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_two-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0123"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unescaped_char_delete.json: -------------------------------------------------------------------------------- 1 | [""] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_with_del_character.json: -------------------------------------------------------------------------------- 1 | ["aa"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_lonely_negative_real.json: -------------------------------------------------------------------------------- 1 | -0.1 -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_whitespace_array.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_29.json: -------------------------------------------------------------------------------- 1 | {"hello":true, "bye":false, null:null} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_99.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye\n\r\t\b",true , false] -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-b5d63a9d8da2968e/bin-tj: -------------------------------------------------------------------------------- 1 | a61609c8b266cd90 -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-bb890ae6f101bb25/bin-tj: -------------------------------------------------------------------------------- 1 | abd8fa96c6861d03 -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-bf24d0bdc8d0f4d6/bin-tj: -------------------------------------------------------------------------------- 1 | 77e925575f2e3132 -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_pos_double_huge_exp.json: -------------------------------------------------------------------------------- 1 | [1.5e+9999] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_real_pos_overflow.json: -------------------------------------------------------------------------------- 1 | [123123e100000] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_real_underflow.json: -------------------------------------------------------------------------------- 1 | [123e-10000000] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_invalid_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\ud800abc"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_lone_second_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\uDFAA"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_colon_instead_of_comma.json: -------------------------------------------------------------------------------- 1 | ["": 1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_items_separated_by_semicolon.json: -------------------------------------------------------------------------------- 1 | [1:2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_number_and_several_commas.json: -------------------------------------------------------------------------------- 1 | [1,,] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_unclosed_with_object_inside.json: -------------------------------------------------------------------------------- 1 | [{} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_U+FF11_fullwidth_digit_one.json: -------------------------------------------------------------------------------- 1 | [1] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_neg_int_starting_with_zero.json: -------------------------------------------------------------------------------- 1 | [-012] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_neg_real_without_int_part.json: -------------------------------------------------------------------------------- 1 | [-.123] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_neg_with_garbage_at_end.json: -------------------------------------------------------------------------------- 1 | [-1x] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_real_without_fractional_part.json: -------------------------------------------------------------------------------- 1 | [1.] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_trailing_comment.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}/**/ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}# -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_accentuated_char_no_quotes.json: -------------------------------------------------------------------------------- 1 | [é] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_escaped_backslash_bad.json: -------------------------------------------------------------------------------- 1 | ["\\\"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_invalid_unicode_escape.json: -------------------------------------------------------------------------------- 1 | ["\uqqqq"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_no_quotes_with_bad_escape.json: -------------------------------------------------------------------------------- 1 | [\n] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_single_quote.json: -------------------------------------------------------------------------------- 1 | ['single quote'] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_angle_bracket_null.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_array_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | [1]x -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_ascii-unicode-identifier.json: -------------------------------------------------------------------------------- 1 | aå -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_null-byte-outside-string.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_object_unclosed_no_value.json: -------------------------------------------------------------------------------- 1 | {"": -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_array_open_string.json: -------------------------------------------------------------------------------- 1 | ["a -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_object_close_array.json: -------------------------------------------------------------------------------- 1 | {] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_object_open_string.json: -------------------------------------------------------------------------------- 1 | {"a -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_open.json: -------------------------------------------------------------------------------- 1 | ["\{["\{["\{["\{ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_unclosed_object.json: -------------------------------------------------------------------------------- 1 | {"asd":"asd" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_heterogeneous.json: -------------------------------------------------------------------------------- 1 | [null, 1, "1", {}] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_real_capital_e_neg_exp.json: -------------------------------------------------------------------------------- 1 | [1E-2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_real_capital_e_pos_exp.json: -------------------------------------------------------------------------------- 1 | [1E+2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_duplicated_key.json: -------------------------------------------------------------------------------- 1 | {"a":"b","a":"c"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_backslash_doublequotes.json: -------------------------------------------------------------------------------- 1 | ["\""] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_escaped_noncharacter.json: -------------------------------------------------------------------------------- 1 | ["\uFFFF"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_nbsp_uescaped.json: -------------------------------------------------------------------------------- 1 | ["new\u00A0line"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json: -------------------------------------------------------------------------------- 1 | ["￿"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_U+FDD0_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uFDD0"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_U+FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uFFFE"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_structure_trailing_newline.json: -------------------------------------------------------------------------------- 1 | ["a"] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/object_same_key_same_value.json: -------------------------------------------------------------------------------- 1 | {"a":1,"a":1} -------------------------------------------------------------------------------- /src/test/resources/test_transform/string_with_escaped_NULL.json: -------------------------------------------------------------------------------- 1 | ["A\u0000B"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_49.json: -------------------------------------------------------------------------------- 1 | {"1":2, "2.5" : [3, 4, {}, {"5": ["6"]}]} -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/json-74a82b4ec4439e90/lib-json: -------------------------------------------------------------------------------- 1 | 7e505dc88b248d1e -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_double_huge_neg_exp.json: -------------------------------------------------------------------------------- 1 | [123.456e-789] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_real_neg_overflow.json: -------------------------------------------------------------------------------- 1 | [-123123e100000] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_object_key_lone_2nd_surrogate.json: -------------------------------------------------------------------------------- 1 | {"\uDFAA":0} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_incomplete_surrogate_pair.json: -------------------------------------------------------------------------------- 1 | ["\uDd1ea"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_invalid_lonely_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\ud800"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_newlines_unclosed.json: -------------------------------------------------------------------------------- 1 | ["a", 2 | 4 3 | ,1, -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_spaces_vertical_tab_formfeed.json: -------------------------------------------------------------------------------- 1 | [" a"\f] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_invalid-negative-real.json: -------------------------------------------------------------------------------- 1 | [-123.123foo] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_comma_instead_of_colon.json: -------------------------------------------------------------------------------- 1 | {"x", null} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_key_with_single_quotes.json: -------------------------------------------------------------------------------- 1 | {key: 'value'} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_several_trailing_commas.json: -------------------------------------------------------------------------------- 1 | {"id":0,,,,,} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_trailing_comment_open.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}/**// -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_two_commas_in_a_row.json: -------------------------------------------------------------------------------- 1 | {"a":"b",,"c":"d"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_1_surrogate_then_escape.json: -------------------------------------------------------------------------------- 1 | ["\uD800\"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_1_surrogate_then_escape_u.json: -------------------------------------------------------------------------------- 1 | ["\uD800\u"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_incomplete_escaped_character.json: -------------------------------------------------------------------------------- 1 | ["\u00A"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_incomplete_surrogate.json: -------------------------------------------------------------------------------- 1 | ["\uD834\uDd"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_single_string_no_double_quotes.json: -------------------------------------------------------------------------------- 1 | abc -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_unescaped_newline.json: -------------------------------------------------------------------------------- 1 | ["new 2 | line"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_array_with_extra_array_close.json: -------------------------------------------------------------------------------- 1 | [1]] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_array_with_unclosed_string.json: -------------------------------------------------------------------------------- 1 | ["asd] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_number_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | 2@ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_whitespace_U+2060_word_joiner.json: -------------------------------------------------------------------------------- 1 | [⁠] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_array_with_several_null.json: -------------------------------------------------------------------------------- 1 | [1,null,null,null,2] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_real_fraction_exponent.json: -------------------------------------------------------------------------------- 1 | [123.456e78] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_with_newlines.json: -------------------------------------------------------------------------------- 1 | { 2 | "a": "b" 3 | } -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_allowed_escapes.json: -------------------------------------------------------------------------------- 1 | ["\"\\\/\b\f\n\r\t"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_escaped_control_character.json: -------------------------------------------------------------------------------- 1 | ["\u0012"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_in_array_with_leading_space.json: -------------------------------------------------------------------------------- 1 | [ "asd"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json: -------------------------------------------------------------------------------- 1 | ["􏿿"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_uEscape.json: -------------------------------------------------------------------------------- 1 | ["\u0061\u30af\u30EA\u30b9"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_uescaped_newline.json: -------------------------------------------------------------------------------- 1 | ["new\u000Aline"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicodeEscapedBackslash.json: -------------------------------------------------------------------------------- 1 | ["\u005C"] -------------------------------------------------------------------------------- /src/test/resources/test_transform/object_key_nfc_nfd.json: -------------------------------------------------------------------------------- 1 | {"é":"NFC","é":"NFD"} -------------------------------------------------------------------------------- /src/test/resources/test_transform/object_key_nfd_nfc.json: -------------------------------------------------------------------------------- 1 | {"é":"NFD","é":"NFC"} -------------------------------------------------------------------------------- /src/test/resources/test_transform/string_1_escaped_invalid_codepoint.json: -------------------------------------------------------------------------------- 1 | ["\uD800"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_14.json: -------------------------------------------------------------------------------- 1 | {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], [7 ]}]} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_15.json: -------------------------------------------------------------------------------- 1 | {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], [7]}]} -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_100.json: -------------------------------------------------------------------------------- 1 | ["hello", "bye\n\r\t\b",true , false, null] -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rj-8f8b750d20f3bf10/bin-rj: -------------------------------------------------------------------------------- 1 | dceb1c284557768d -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rj-da0f8f63b87cf531/bin-rj: -------------------------------------------------------------------------------- 1 | 4e360d1c29d40a3a -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_too_big_pos_int.json: -------------------------------------------------------------------------------- 1 | [100000000000000000000] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_1st_surrogate_but_2nd_missing.json: -------------------------------------------------------------------------------- 1 | ["\uDADA"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_unclosed_with_new_lines.json: -------------------------------------------------------------------------------- 1 | [1, 2 | 1 3 | ,1 -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_minus_sign_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | [-foo] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_with_alpha_char.json: -------------------------------------------------------------------------------- 1 | [1.8011670033376514H-308] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_repeated_null_null.json: -------------------------------------------------------------------------------- 1 | {null:null,null:null} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_trailing_comment_slash_open.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}// -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_with_single_string.json: -------------------------------------------------------------------------------- 1 | { "foo" : "bar", "a" } -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_1_surrogate_then_escape_u1.json: -------------------------------------------------------------------------------- 1 | ["\uD800\u1"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_1_surrogate_then_escape_u1x.json: -------------------------------------------------------------------------------- 1 | ["\uD800\u1x"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_leading_uescaped_thinspace.json: -------------------------------------------------------------------------------- 1 | [\u0020"asd"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_object_followed_by_closing_object.json: -------------------------------------------------------------------------------- 1 | {}} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_object_with_comment.json: -------------------------------------------------------------------------------- 1 | {"a":/*comment*/"b"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_open_object_string_with_apostrophes.json: -------------------------------------------------------------------------------- 1 | {'a' -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_uescaped_LF_before_string.json: -------------------------------------------------------------------------------- 1 | [\u000A""] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_unclosed_array_partial_null.json: -------------------------------------------------------------------------------- 1 | [ false, nul -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_duplicated_key_and_value.json: -------------------------------------------------------------------------------- 1 | {"a":"b","a":"b"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_escaped_null_in_key.json: -------------------------------------------------------------------------------- 1 | {"foo\u0000bar": 42} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_accepted_surrogate_pair.json: -------------------------------------------------------------------------------- 1 | ["\uD801\udc37"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_backslash_and_u_escaped_zero.json: -------------------------------------------------------------------------------- 1 | ["\\u0000"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_last_surrogates_1_and_2.json: -------------------------------------------------------------------------------- 1 | ["\uDBFF\uDFFF"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_reservedCharacterInUTF-8_U+1BFFF.json: -------------------------------------------------------------------------------- 1 | ["𛿿"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_U+10FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uDBFF\uDFFE"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_U+1FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uD83F\uDFFE"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json: -------------------------------------------------------------------------------- 1 | ["\u200B"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_U+2064_invisible_plus.json: -------------------------------------------------------------------------------- 1 | ["\u2064"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_unicode_escaped_double_quote.json: -------------------------------------------------------------------------------- 1 | ["\u0022"] -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_1000000000000000.json: -------------------------------------------------------------------------------- 1 | [1000000000000000] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/object_same_key_different_values.json: -------------------------------------------------------------------------------- 1 | {"a":1,"a":2} -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_16.json: -------------------------------------------------------------------------------- 1 | {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}] -------------------------------------------------------------------------------- /src/test/resources/nst_files/n_17.json: -------------------------------------------------------------------------------- 1 | {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}]] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_50.json: -------------------------------------------------------------------------------- 1 | {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}]} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json: -------------------------------------------------------------------------------- 1 | ["\uD888\u1234"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_inverted_surrogates_U+1D11E.json: -------------------------------------------------------------------------------- 1 | ["\uDd1e\uD834"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_comma_instead_of_closing_brace.json: -------------------------------------------------------------------------------- 1 | {"x": true, -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_object_with_trailing_garbage.json: -------------------------------------------------------------------------------- 1 | {"a": true} "x" -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_unclosed_array_unfinished_false.json: -------------------------------------------------------------------------------- 1 | [ true, fals -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_unclosed_array_unfinished_true.json: -------------------------------------------------------------------------------- 1 | [ false, tru -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_-9223372036854775808.json: -------------------------------------------------------------------------------- 1 | [-9223372036854775808] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_-9223372036854775809.json: -------------------------------------------------------------------------------- 1 | [-9223372036854775809] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_1.000000000000000005.json: -------------------------------------------------------------------------------- 1 | [1.000000000000000005] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_10000000000000000999.json: -------------------------------------------------------------------------------- 1 | [10000000000000000999] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_9223372036854775807.json: -------------------------------------------------------------------------------- 1 | [9223372036854775807] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/number_9223372036854775808.json: -------------------------------------------------------------------------------- 1 | [9223372036854775808] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/object_same_key_unclear_values.json: -------------------------------------------------------------------------------- 1 | {"a":0, "a":-0} 2 | -------------------------------------------------------------------------------- /src/test/resources/test_transform/string_2_escaped_invalid_codepoints.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800"] -------------------------------------------------------------------------------- /src/test/resources/nst_files/y_104.json: -------------------------------------------------------------------------------- 1 | {"hello":true, "bye":false, "foo":["one","two","three"]} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_too_big_neg_int.json: -------------------------------------------------------------------------------- 1 | [-123123123123123123123123123123] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json: -------------------------------------------------------------------------------- 1 | ["\uD800\n"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_incomplete_surrogates_escape_valid.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800\n"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_non_string_key_but_huge_number_instead.json: -------------------------------------------------------------------------------- 1 | {9999E9999:1} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_trailing_comment_slash_open_incomplete.json: -------------------------------------------------------------------------------- 1 | {"a":"b"}/ -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_extreme_numbers.json: -------------------------------------------------------------------------------- 1 | { "min": -1.0e+28, "max": 1.0e+28 } -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json: -------------------------------------------------------------------------------- 1 | ["\u0060\u012a\u12AB"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_accepted_surrogate_pairs.json: -------------------------------------------------------------------------------- 1 | ["\ud83d\ude39\ud83d\udc8d"] -------------------------------------------------------------------------------- /src/test/resources/test_transform/string_3_escaped_invalid_codepoints.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800\uD800"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_incomplete_surrogate_escape_invalid.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800\x"] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json: -------------------------------------------------------------------------------- 1 | ["\uD834\uDd1e"] -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rustc-serialize-80c565222c5ccdbb/lib-rustc-serialize: -------------------------------------------------------------------------------- 1 | 646bc9b365eb8c01 -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_very_big_negative_int.json: -------------------------------------------------------------------------------- 1 | [-237462374673276894279832749832423479823246327846] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_number_double_close_to_zero.json: -------------------------------------------------------------------------------- 1 | [-0.000000000000000000000000000000000000000000000000000000000000000000000000000001] 2 | -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_long_strings.json: -------------------------------------------------------------------------------- 1 | {"x":[{"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}], "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/y_object_string_unicode.json: -------------------------------------------------------------------------------- 1 | {"title":"\u041f\u043e\u043b\u0442\u043e\u0440\u0430 \u0417\u0435\u043c\u043b\u0435\u043a\u043e\u043f\u0430" } -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_iso_latin_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_iso_latin_1.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_invalid_utf8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_array_invalid_utf8.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_invalid_utf-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_invalid_utf-8.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_truncated-utf-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_truncated-utf-8.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_utf16BE_no_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_utf16BE_no_BOM.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_utf16LE_no_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_utf16LE_no_BOM.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_array_a_invalid_utf8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_array_a_invalid_utf8.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_UTF-16LE_with_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_UTF-16LE_with_BOM.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_single_eacute.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_structure_single_eacute.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_number_huge_exp.json: -------------------------------------------------------------------------------- 1 | [0.4e00669999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969999999006] -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_not_in_unicode_range.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_not_in_unicode_range.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_invalid-utf-8-in-int.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_number_invalid-utf-8-in-int.json -------------------------------------------------------------------------------- /src/test/resources/test_transform/string_1_invalid_codepoint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_transform/string_1_invalid_codepoint.json -------------------------------------------------------------------------------- /src/test/resources/test_transform/string_2_invalid_codepoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_transform/string_2_invalid_codepoints.json -------------------------------------------------------------------------------- /src/test/resources/test_transform/string_3_invalid_codepoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_transform/string_3_invalid_codepoints.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_UTF-8_invalid_sequence.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_UTF-8_invalid_sequence.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_UTF8_surrogate_U+D800.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_UTF8_surrogate_U+D800.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_incomplete_UTF8_BOM.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_structure_incomplete_UTF8_BOM.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_structure_lone-invalid-utf-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_structure_lone-invalid-utf-8.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_overlong_sequence_2_bytes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_overlong_sequence_2_bytes.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_overlong_sequence_6_bytes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_overlong_sequence_6_bytes.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_invalid-utf-8-in-exponent.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_number_invalid-utf-8-in-exponent.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_invalid-utf-8-in-escape.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_string_invalid-utf-8-in-escape.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_string_invalid_utf8_after_escape.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_string_invalid_utf8_after_escape.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_lone_utf8_continuation_byte.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_lone_utf8_continuation_byte.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_invalid-utf-8-in-bigger-int.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_number_invalid-utf-8-in-bigger-int.json -------------------------------------------------------------------------------- /src/test/resources/test_Json.NET/test_Json.NET.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "framework": { 4 | "name": "Microsoft.NETCore.App", 5 | "version": "1.0.1" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_string_overlong_sequence_6_bytes_null.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/i_string_overlong_sequence_6_bytes_null.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_number_real_with_invalid_utf8_after_e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_number_real_with_invalid_utf8_after_e.json -------------------------------------------------------------------------------- /src/test/resources/test_parsing/n_object_lone_continuation_byte_in_key_and_trailing_comma.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkanovicz/essential-json/HEAD/src/test/resources/test_parsing/n_object_lone_continuation_byte_in_key_and_trailing_comma.json -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/json-74a82b4ec4439e90/lib-json.json: -------------------------------------------------------------------------------- 1 | {"rustc":7859408035877959587,"target":4828698267517893457,"profile":11154289914177168617,"local":{"variant":"Precalculated","fields":["0.10.2"]},"features":"None","deps":[],"rustflags":[]} -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rustc-serialize-80c565222c5ccdbb/lib-rustc-serialize.json: -------------------------------------------------------------------------------- 1 | {"rustc":7859408035877959587,"target":12509747639738875829,"profile":11154289914177168617,"local":{"variant":"Precalculated","fields":["0.3.19"]},"features":"None","deps":[],"rustflags":[]} -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-bf24d0bdc8d0f4d6/dep-bin-tj: -------------------------------------------------------------------------------- 1 | /Users/nst/Projects/dropbox/JSON/test_json-rust/Users/nst/Projects/dropbox/JSON/test_json-rust/target/debug/tj: src/main.rs 2 | 3 | /Users/nst/Projects/dropbox/JSON/test_json-rust/target/debug/tj.d: src/main.rs 4 | 5 | src/main.rs: 6 | -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-b5d63a9d8da2968e/dep-bin-tj: -------------------------------------------------------------------------------- 1 | /Users/nst/Projects/dropbox/JSON/test_json-rust/tj/Users/nst/Projects/dropbox/JSON/test_json-rust/tj/target/debug/tj: src/main.rs 2 | 3 | /Users/nst/Projects/dropbox/JSON/test_json-rust/tj/target/debug/tj.d: src/main.rs 4 | 5 | src/main.rs: 6 | -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-bb890ae6f101bb25/dep-bin-tj: -------------------------------------------------------------------------------- 1 | /Users/nst/Projects/dropbox/JSON/parsers/test_json-rust/Users/nst/Projects/dropbox/JSON/parsers/test_json-rust/target/debug/tj: src/main.rs 2 | 3 | /Users/nst/Projects/dropbox/JSON/parsers/test_json-rust/target/debug/tj.d: src/main.rs 4 | 5 | src/main.rs: 6 | -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rj-da0f8f63b87cf531/dep-bin-rj: -------------------------------------------------------------------------------- 1 | /Users/nst/Projects/dropbox/JSON/test_json-rustc_serialize/rj/Users/nst/Projects/dropbox/JSON/test_json-rustc_serialize/rj/target/debug/rj: src/main.rs 2 | 3 | /Users/nst/Projects/dropbox/JSON/test_json-rustc_serialize/rj/target/debug/rj.d: src/main.rs 4 | 5 | src/main.rs: 6 | -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rj-8f8b750d20f3bf10/dep-bin-rj: -------------------------------------------------------------------------------- 1 | /Users/nst/Projects/dropbox/JSON/parsers/test_json-rustc_serialize/rj/Users/nst/Projects/dropbox/JSON/parsers/test_json-rustc_serialize/rj/target/debug/rj: src/main.rs 2 | 3 | /Users/nst/Projects/dropbox/JSON/parsers/test_json-rustc_serialize/rj/target/debug/rj.d: src/main.rs 4 | 5 | src/main.rs: 6 | -------------------------------------------------------------------------------- /src/test/resources/test_Json.NET/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0-*", 3 | "buildOptions": { 4 | "debugType": "portable", 5 | "emitEntryPoint": true 6 | }, 7 | "dependencies": { 8 | "Newtonsoft.Json": "9.0.1" 9 | }, 10 | "frameworks": { 11 | "netcoreapp1.0": { 12 | "dependencies": { 13 | "Microsoft.NETCore.App": { 14 | "type": "platform", 15 | "version": "1.0.1" 16 | } 17 | }, 18 | "imports": "dnxcore50" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-bf24d0bdc8d0f4d6/bin-tj.json: -------------------------------------------------------------------------------- 1 | {"rustc":7859408035877959587,"target":5865571357086859834,"profile":11154289914177168617,"local":{"variant":"MtimeBased","fields":[[1476355490,0],[47,85,115,101,114,115,47,110,115,116,47,80,114,111,106,101,99,116,115,47,100,114,111,112,98,111,120,47,74,83,79,78,47,116,101,115,116,95,106,115,111,110,45,114,117,115,116,47,116,97,114,103,101,116,47,100,101,98,117,103,47,46,102,105,110,103,101,114,112,114,105,110,116,47,116,106,45,98,102,50,52,100,48,98,100,99,56,100,48,102,52,100,54,47,100,101,112,45,98,105,110,45,116,106]]},"features":"None","deps":[["json v0.10.2",2201455975634653310]],"rustflags":[]} -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-b5d63a9d8da2968e/bin-tj.json: -------------------------------------------------------------------------------- 1 | {"rustc":5191092557147237921,"target":14837433948137983109,"profile":15288148974678605576,"local":{"variant":"MtimeBased","fields":[[1474319948,0],[47,85,115,101,114,115,47,110,115,116,47,80,114,111,106,101,99,116,115,47,100,114,111,112,98,111,120,47,74,83,79,78,47,116,101,115,116,95,106,115,111,110,45,114,117,115,116,47,116,106,47,116,97,114,103,101,116,47,100,101,98,117,103,47,46,102,105,110,103,101,114,112,114,105,110,116,47,116,106,45,98,53,100,54,51,97,57,100,56,100,97,50,57,54,56,101,47,100,101,112,45,98,105,110,45,116,106]]},"features":"None","deps":[["json v0.10.2",7439718051229571795]],"rustflags":[]} -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/tj-bb890ae6f101bb25/bin-tj.json: -------------------------------------------------------------------------------- 1 | {"rustc":7859408035877959587,"target":15551623846446356538,"profile":11154289914177168617,"local":{"variant":"MtimeBased","fields":[[1476880338,0],[47,85,115,101,114,115,47,110,115,116,47,80,114,111,106,101,99,116,115,47,100,114,111,112,98,111,120,47,74,83,79,78,47,112,97,114,115,101,114,115,47,116,101,115,116,95,106,115,111,110,45,114,117,115,116,47,116,97,114,103,101,116,47,100,101,98,117,103,47,46,102,105,110,103,101,114,112,114,105,110,116,47,116,106,45,98,98,56,57,48,97,101,54,102,49,48,49,98,98,50,53,47,100,101,112,45,98,105,110,45,116,106]]},"features":"None","deps":[["json v0.10.2",2201455975634653310]],"rustflags":[]} -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rj-da0f8f63b87cf531/bin-rj.json: -------------------------------------------------------------------------------- 1 | {"rustc":7859408035877959587,"target":10743941033649540137,"profile":11154289914177168617,"local":{"variant":"MtimeBased","fields":[[1476355341,0],[47,85,115,101,114,115,47,110,115,116,47,80,114,111,106,101,99,116,115,47,100,114,111,112,98,111,120,47,74,83,79,78,47,116,101,115,116,95,106,115,111,110,45,114,117,115,116,99,95,115,101,114,105,97,108,105,122,101,47,114,106,47,116,97,114,103,101,116,47,100,101,98,117,103,47,46,102,105,110,103,101,114,112,114,105,110,116,47,114,106,45,100,97,48,102,56,102,54,51,98,56,55,99,102,53,51,49,47,100,101,112,45,98,105,110,45,114,106]]},"features":"None","deps":[["rustc-serialize v0.3.19",111722912817965924]],"rustflags":[]} -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rj-8f8b750d20f3bf10/bin-rj.json: -------------------------------------------------------------------------------- 1 | {"rustc":7859408035877959587,"target":10766102054036524891,"profile":11154289914177168617,"local":{"variant":"MtimeBased","fields":[[1476880312,0],[47,85,115,101,114,115,47,110,115,116,47,80,114,111,106,101,99,116,115,47,100,114,111,112,98,111,120,47,74,83,79,78,47,112,97,114,115,101,114,115,47,116,101,115,116,95,106,115,111,110,45,114,117,115,116,99,95,115,101,114,105,97,108,105,122,101,47,114,106,47,116,97,114,103,101,116,47,100,101,98,117,103,47,46,102,105,110,103,101,114,112,114,105,110,116,47,114,106,45,56,102,56,98,55,53,48,100,50,48,102,51,98,102,49,48,47,100,101,112,45,98,105,110,45,114,106]]},"features":"None","deps":[["rustc-serialize v0.3.19",111722912817965924]],"rustflags":[]} -------------------------------------------------------------------------------- /src/test/resources/test_parsing/i_structure_500_nested_arrays.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /src/test/java/com/republicate/json/BaseTestUnit.java: -------------------------------------------------------------------------------- 1 | package com.republicate.json; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | 6 | public abstract class BaseTestUnit 7 | { 8 | protected static final int MAX_OUTPUT = 100; 9 | protected static Logger logger = LoggerFactory.getLogger("json"); 10 | 11 | protected long startNanos = 0L; 12 | protected double elapsedMillis = 0L; 13 | 14 | protected void log(String format, Object... objects) 15 | { 16 | logger.info(format, objects); 17 | } 18 | 19 | protected int checksum(String str) 20 | { 21 | int ret = 0; 22 | boolean insideString = false; 23 | boolean escaped = false; 24 | for (char c : str.toCharArray()) 25 | { 26 | if (insideString) 27 | { 28 | if (escaped) escaped = false; 29 | else if (c == '"') insideString = false; 30 | } 31 | else if (c == '"') insideString = true; 32 | if (insideString || !Character.isWhitespace(c)) 33 | { 34 | ret ^= c; 35 | } 36 | } 37 | return ret; 38 | } 39 | 40 | protected void startTiming() 41 | { 42 | startNanos = System.nanoTime(); 43 | } 44 | 45 | protected void stopTiming() 46 | { 47 | elapsedMillis = (System.nanoTime() - startNanos)/1000000.0; 48 | } 49 | 50 | protected String elapsed() 51 | { 52 | return String.format("%.2fms", elapsedMillis); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 2.7 2 | 3 | + Added `getBytes()` method. 4 | 5 | # 2.6.4 6 | 7 | Maintenance release. 8 | 9 | + parsing errors now throw Json.ParseException 10 | + upgraded JUint, slf4j, and several maven plugins 11 | 12 | # 2.6.3 13 | 14 | Maintenance release. 15 | 16 | + upgraded JUnit 17 | 18 | # 2.6.2 19 | 20 | Maintenance release. 21 | 22 | + fixed `toPrettyString` methods formatting 23 | 24 | # 2.6.1 25 | 26 | Maintenance release. 27 | 28 | + fix `Json.Object.getJson()` signature. 29 | 30 | # 2.6 31 | 32 | + added `Json.toJson(java.lang.Object)` method, which converts Java standard containers to Json 33 | 34 | # 2.5 35 | 36 | + added `Array.pushAll(collection)` and `Object.setAll(collection)`, returning self 37 | 38 | # 2.4 39 | 40 | + added Cloneable support (deep cloning) 41 | + removed an extra `\n` in empty arrays pretty output 42 | + added facility methods `Json.newArray(Serializable...)` and `Json.newObject(Serializable...)` 43 | + added `getJson(...)` specialized getters returning Json containers 44 | + added `Array.push(value)`, `Array.put(index, value)` and `Object.set(key, value)`, returning self 45 | 46 | # 2.3 47 | 48 | Maintenance release. 49 | 50 | + fix a parsing bug. 51 | 52 | # 2.2 53 | 54 | + added `Json.Array(Serializable...)` constructor 55 | + added `Json.escape(String)` commodity method 56 | 57 | #2.1 58 | 59 | Maintenance release. 60 | 61 | + fix a bug in the parsing of negative longs. 62 | 63 | # 2.0 64 | 65 | + renamed container classes to `Json.Array` and `Json.Object` 66 | + added specialized getters 67 | 68 | # 1.0 69 | 70 | Initial release. 71 | -------------------------------------------------------------------------------- /src/test/resources/test_Json.NET/test_Json.NET.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v1.0", 4 | "signature": "09db60146a5b8a0d40c5ea0fb7485ab3bbdd4a1a" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v1.0": { 9 | "test_Json.NET/1.0.0": { 10 | "dependencies": { 11 | "Newtonsoft.Json": "9.0.1" 12 | }, 13 | "runtime": { 14 | "test_Json.NET.dll": {} 15 | } 16 | }, 17 | "Newtonsoft.Json/9.0.1": { 18 | "dependencies": { 19 | "System.Runtime.Serialization.Primitives": "4.1.1" 20 | }, 21 | "runtime": { 22 | "lib/netstandard1.0/Newtonsoft.Json.dll": {} 23 | } 24 | }, 25 | "System.Runtime.Serialization.Primitives/4.1.1": { 26 | "runtime": { 27 | "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} 28 | } 29 | } 30 | } 31 | }, 32 | "libraries": { 33 | "test_Json.NET/1.0.0": { 34 | "type": "project", 35 | "serviceable": false, 36 | "sha512": "" 37 | }, 38 | "Newtonsoft.Json/9.0.1": { 39 | "type": "package", 40 | "serviceable": true, 41 | "sha512": "sha512-U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==" 42 | }, 43 | "System.Runtime.Serialization.Primitives/4.1.1": { 44 | "type": "package", 45 | "serviceable": true, 46 | "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==" 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /src/test/resources/test_json-rustc_serialize/rustc-serialize-80c565222c5ccdbb/dep-lib-rustc-serialize: -------------------------------------------------------------------------------- 1 | /Users/nst/Projects/dropbox/JSON/test_json-rustc_serialize/rj/Users/nst/Projects/dropbox/JSON/test_json-rustc_serialize/rj/target/debug/deps/librustc_serialize-3561541d79c18212.rlib: /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/lib.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/serialize.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/collection_impls.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/base64.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/hex.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/json.rs 2 | 3 | /Users/nst/Projects/dropbox/JSON/test_json-rustc_serialize/rj/target/debug/deps/rustc_serialize-3561541d79c18212.d: /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/lib.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/serialize.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/collection_impls.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/base64.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/hex.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/json.rs 4 | 5 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/lib.rs: 6 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/serialize.rs: 7 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/collection_impls.rs: 8 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/base64.rs: 9 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/hex.rs: 10 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/json.rs: 11 | -------------------------------------------------------------------------------- /src/test/resources/test_json-rust/json-74a82b4ec4439e90/dep-lib-json: -------------------------------------------------------------------------------- 1 | /Users/nst/Projects/dropbox/JSON/test_json-rust/Users/nst/Projects/dropbox/JSON/test_json-rust/target/debug/deps/libjson-6bbf4c11dd6d7c25.rlib: /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/lib.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/codegen.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/parser.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/value/mod.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/value/implements.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/error.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/mod.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/diyfp.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/grisu2.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/print_dec.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/short.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/object.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/number.rs 2 | 3 | /Users/nst/Projects/dropbox/JSON/test_json-rust/target/debug/deps/json-6bbf4c11dd6d7c25.d: /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/lib.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/codegen.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/parser.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/value/mod.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/value/implements.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/error.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/mod.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/diyfp.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/grisu2.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/print_dec.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/short.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/object.rs /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/number.rs 4 | 5 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/lib.rs: 6 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/codegen.rs: 7 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/parser.rs: 8 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/value/mod.rs: 9 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/value/implements.rs: 10 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/error.rs: 11 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/mod.rs: 12 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/diyfp.rs: 13 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/grisu2.rs: 14 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/util/print_dec.rs: 15 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/short.rs: 16 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/object.rs: 17 | /Users/nst/.cargo/registry/src/github.com-1ecc6299db9ec823/json-0.10.2/src/number.rs: 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Essential JSON 2 | 3 | - [Essential JSON](#essential-json) 4 | * [Rationale](#rationale) 5 | * [Description](#description) 6 | * [Usage](#usage) 7 | + [Inclusion in your project](#inclusion-in-your-project) 8 | + [Parsing JSON](#parsing-json) 9 | + [Rendering JSON](#rendering-json) 10 | + [Building JSON](#building-json) 11 | + [Converting to JSON](#converting-to-json) 12 | * [References](#references) 13 | 14 | ## Rationale 15 | 16 | Although there are already tons of existing [Java JSON libraries](https://gitlab.renegat.net/claude/yajb), I needed one which would: 17 | 18 | + be **minimalistic** 19 | 20 | + **no reflection** of any sort, no validation, no schema, no custom POJO field/class support 21 | + **no external dependency** 22 | + easily pluggable in other projects: **one single source file** 23 | 24 | + be **performant** 25 | + have a nice and handy API with specialized getters and setters 26 | + avoid any kind of abstraction other than **Serializable** around values, without any wrapping 27 | + use a common **parent Serializable interface** for JSON objects and arrays 28 | 29 | ## Description 30 | 31 | ## Usage 32 | 33 | The `com.republicate.json.Json` interface extends `Serializable` and is implemented by its two inner classes `Json.Array` and `Json.Object`. 34 | 35 | `Json.Array` extends `List` and `Json.Object` extends `Map`. 36 | 37 | ### Inclusion in your project 38 | 39 | Using Maven: 40 | 41 | 42 | com.republicate 43 | essential-json 44 | 2.5 45 | 46 | 47 | Using Gradle: 48 | 49 | implementation 'com.republicate:essential-json:2.3' 50 | 51 | ### Parsing JSON 52 | 53 | The generic `Json.parse(string_or_reader)` method will return a `com.republicate.Json` value containing a `Json.Object` or `Json.Array` object. 54 | 55 | If you want to parse a content without knowing if it's a JSON container or a simple JSON value, 56 | you will call the `Json.parseValue(string_or_reader)` method to get a `Serializable`. 57 | 58 | import com.republicate.json.Json; 59 | ... 60 | Json container = Json.parse(string_or_reader); 61 | // container will be a JSON object or a JSON array 62 | if (container.isObject()) 63 | { 64 | Json.Object obj = container.asObject(); 65 | ... 66 | } 67 | 68 | Serializable value = Json.parseValue(string_or_reader); 69 | // value will either be a JSON container or a single Serializable value 70 | 71 | ### Rendering JSON 72 | 73 | Containers `toString()` and `toString(Writer)` methods will render JSON strings with proper quoting and encoding. 74 | 75 | import com.republicate.json.Json; 76 | ... 77 | // getting a String 78 | String json = container.toString(); 79 | 80 | // rendering towards a Writer 81 | container.toString(writer); 82 | 83 | ### Building JSON 84 | 85 | `Json.Array` and `Json.Object` constructors (or equivalents `Json.newArray()` and `Json.newObject()` helper methods) can respectively be given an existing Iterable or an existing Map ; both can also be given a JSON string. 86 | 87 | Both containers have specialized getters (`getString`, `getBoolean`, etc.). 88 | 89 | `Json.Array` has helper methods `push`, `pushAll` and `put` that return self (and rely on the standard `add`, `addAll` and `set` ArrayList methods). 90 | 91 | `Json.Object` has helper methods `set` and `setAll` that return self (and rely on the standard `put` and `putAll` Map methods). 92 | 93 | import com.republicate.json.Json; 94 | ... 95 | Json.Array arr = Json.newArray("[1,2,3]").add(4).add(5); 96 | Json.Object obj = new Json.Object(some_existing_map).set("foo", "bar").set(("baz", arr); 97 | 98 | ### Converting to JSON 99 | 100 | The two reentrant methods `Json.toJson(java.lang.Object)` and `Json.toSerializable(java.lang.Object)` will try hard to convert any standard Java container to a JSON structure. 101 | 102 | ## References 103 | 104 | + [RFC 7159](https://tools.ietf.org/html/rfc7159) 105 | + [JSON Parsing Test Suite](https://github.com/nst/JSONTestSuite) 106 | -------------------------------------------------------------------------------- /src/test/java/com/republicate/json/EssentialJsonTest.java: -------------------------------------------------------------------------------- 1 | package com.republicate.json; 2 | 3 | import org.junit.Test; 4 | 5 | import java.io.IOException; 6 | import java.io.Reader; 7 | import java.io.Serializable; 8 | import java.io.StringWriter; 9 | import java.nio.charset.StandardCharsets; 10 | import java.nio.file.*; 11 | import java.util.*; 12 | import java.util.regex.Pattern; 13 | import java.util.stream.Collectors; 14 | 15 | import static junit.framework.TestCase.*; 16 | 17 | public class EssentialJsonTest extends BaseTestUnit 18 | { 19 | @Test 20 | public void test() throws Exception 21 | { 22 | PathMatcher matcher = FileSystems.getDefault().getPathMatcher("glob:**/*.json"); 23 | List paths = Files.walk(Paths.get(".")) 24 | .filter(Files::isRegularFile) 25 | .filter(file -> matcher.matches(file)) 26 | .collect(Collectors.toList()); 27 | Collections.sort(paths); 28 | paths.stream().forEach(file -> testFile(file)); 29 | } 30 | 31 | static Set skipByFilename = new HashSet<>(Arrays.asList( 32 | "n_223.json", // \u0000 is valid 33 | "n_structure_whitespace_formfeed.json" // why would the form feed be invalid ? 34 | )); 35 | 36 | static Pattern skipChecksumTestContent = Pattern.compile("^\\[?\"[^\"]*\"\\]?$|^\\[?[0-9.eE+-]+\\]?$", Pattern.CASE_INSENSITIVE); 37 | 38 | static Set skipChecksumTestFilename = new HashSet<>(Arrays.asList( 39 | "i_object_key_lone_2nd_surrogate.json", 40 | "i_string_incomplete_surrogate_pair.json", 41 | "y_object_duplicated_key.json", 42 | "y_object_duplicated_key_and_value.json", 43 | "y_object_escaped_null_in_key.json", 44 | "y_object_string_unicode.json", 45 | "y_string_1_2_3_bytes_UTF-8_sequences.json", 46 | "y_string_accepted_surrogate_pair.json", 47 | "y_string_accepted_surrogate_pairs.json", 48 | "y_string_allowed_escapes.json", 49 | "y_string_escaped_noncharacter.json", 50 | "y_string_last_surrogates_1_and_2.json", 51 | "y_string_nbsp_uescaped.json", 52 | "y_string_one-byte-utf-8.json", 53 | "object_same_key_different_values.json", 54 | "object_same_key_same_value.json", 55 | "object_same_key_unclear_values.json" 56 | )); 57 | 58 | static Set awaitExceptionByFilename = new HashSet<>(Arrays.asList( 59 | "i_number_huge_exp.json", 60 | "i_string_1st_surrogate_but_2nd_missing.json", 61 | "i_string_1st_valid_surrogate_2nd_invalid.json", 62 | "i_string_UTF-16LE_with_BOM.json", 63 | "i_string_UTF-8_invalid_sequence.json", 64 | "i_string_UTF8_surrogate_U+D800.json", 65 | "i_string_incomplete_surrogate_and_escape_valid.json", 66 | "i_string_incomplete_surrogates_escape_valid.json", 67 | "i_string_invalid_lonely_surrogate.json", 68 | "i_string_invalid_surrogate.json", 69 | "i_string_invalid_utf-8.json", 70 | "i_string_inverted_surrogates_U+1D11E.json", 71 | "i_string_iso_latin_1.json", 72 | "i_string_lone_second_surrogate.json", 73 | "i_object_key_lone_2nd_surrogate.json", 74 | "i_string_incomplete_surrogate_pair.json", 75 | "i_string_lone_utf8_continuation_byte.json", 76 | "i_string_not_in_unicode_range.json", 77 | "i_string_overlong_sequence_2_bytes.json", 78 | "i_string_overlong_sequence_6_bytes.json", 79 | "i_string_overlong_sequence_6_bytes_null.json", 80 | "i_string_truncated-utf-8.json", 81 | "i_string_utf16BE_no_BOM.json", 82 | "i_string_utf16LE_no_BOM.json", 83 | "i_structure_UTF-8_BOM_empty_object.json", 84 | "string_1_escaped_invalid_codepoint.json", 85 | "string_1_invalid_codepoint.json", 86 | "string_2_escaped_invalid_codepoints.json", 87 | "string_2_invalid_codepoints.json", 88 | "string_3_escaped_invalid_codepoints.json", 89 | "string_3_invalid_codepoints.json" 90 | )); 91 | 92 | protected void testFile(Path file) 93 | { 94 | try 95 | { 96 | String filename = file.getFileName().toString(); 97 | boolean awaitError = filename.startsWith("n_") || awaitExceptionByFilename.contains(filename); 98 | if (skipByFilename.contains(filename)) 99 | { 100 | log("skipping"); 101 | return; 102 | } 103 | log("considering file " + file.toString()); 104 | Reader reader = Files.newBufferedReader(file, StandardCharsets.UTF_8); 105 | if (awaitError) 106 | { 107 | try 108 | { 109 | Object instance = Json.parseValue(reader); 110 | fail("Exception awaited!"); 111 | } 112 | catch (IOException | NumberFormatException | StackOverflowError e) 113 | { 114 | } 115 | } 116 | else 117 | { 118 | String orig = new String(Files.readAllBytes(file), StandardCharsets.UTF_8); 119 | startTiming(); 120 | Serializable instance = Json.parseValue(reader); 121 | stopTiming(); 122 | if (filename.equals("y_structure_lonely_null.json")) 123 | { 124 | return; 125 | } 126 | startTiming(); 127 | String output = 128 | instance instanceof String 129 | ? Json.Serializer.escapeJson((String)instance, new StringWriter()).toString() 130 | : instance.toString(); 131 | stopTiming(); 132 | // skip vicious ones that defeat the naive checksum algorithm 133 | boolean skipChecksum = skipChecksumTestContent.matcher(orig).find() || skipChecksumTestFilename.contains(filename); 134 | if (!skipChecksum) 135 | { 136 | assertEquals(checksum(orig), checksum(output)); 137 | } 138 | } 139 | } 140 | catch (Exception e) 141 | { 142 | throw new RuntimeException(e); 143 | } 144 | } 145 | 146 | @Test 147 | public void testEqualsJson() throws Exception 148 | { 149 | Json.Object o1 = new Json.Object(); 150 | o1.put("foo", "bar"); 151 | o1.put("bar", 45.65); 152 | o1.put("baz", new Json.Array(1l, 2l, 3l)); 153 | Json.Object o2 = Json.parse("{ \"foo\":\"bar\", \"bar\":45.65, \"baz\":[1,2,3] }").asObject(); 154 | assertEquals(o1, o2); 155 | } 156 | 157 | @Test 158 | public void testEqualsString() throws Exception 159 | { 160 | String payload = "{\"access_token\":\"MWJkNjA5NjItYzhmOS00OTkwLWFhZmEtOGQ4OTEyZDk4ZmJh\",\"token_type\":\"Bearer\",\"expires_in\":1800,\"scope\":\"openid profile\",\"refresh_token\":\"YWVmOGJjZjYtMzhlYi00YmM3LTg1NzQtNWMzOTY0NmY1MGUz\",\"id_token\":\"eyJjaWQiOiJydHIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhcHAuZGV2LnJ0cmV4cGVyaWVuY2Uub3JnIiwiYXVkIjoiQ2hhbmNlIiwic3ViIjoiZjViN2I1MWMtNjM4Yi0xMWVhLWJjOTYtYTRiZjAxMWRkNDg0IiwibmFtZSI6InRhbGVudF9jbGF1ZGUiLCJlbWFpbCI6ImNsYXVkZTJAcmVuZWdhdC5uZXQiLCJnaXZlbl9uYW1lIjoiQ2xhdWRlIiwiZmFtaWx5X25hbWUiOiJCcmlzc29uIiwiaWF0IjoxNTg0MjQ5MjI0LCJleHAiOjE1ODQyNDkyMjZ9.e2pgWxKe_1ZaUr06QPre65zqyOBzTDez16G4OE-OFBP-Dry2UAFISCAdX85jqqw0EjzJy-X8I5Ho7jD5hD2qeXtlT3Ee3oI2GdekW_sNpC1AhzwItfcdHhh7fIddaViOtpQbe11V7PDS0bcJsAc99SsR_kFIOwQi9T_xPmXoQyMN3bkHB-Ydty3jLKSINx-o7Dg7sFLwCNe1xpIHV5OwuzxiVBYW9Y_QpngtXqpwlBSDrq38WR-Y2w1IYZi2hUva9V5f8nezWM5fmXYe3DdRCa608w-AchWDGm7o-E7YJtNnKms57D1hYFIFJCKRPZsoBpGT0cVLPAcR7zCa4btKDJfRB2_B-u-vIn7lpSbuHBYF-SIzcJ5DP-rt-x1ritRFXnpxwqehvOEggG_l0nWHy6Tbl5uN2lsNrxAsDyIlvfrjw6BQJzQxfXNmrfXATjaGhFLVwl-pzsQa0N4Ullkv_5IQ6HUepQXwT_s-4VZlBXidcCJ0ypLo9n4JAxL-juTpgRCu2TAK4sIEajvXTt0UckHFV11oUXKA2Jz_V3XmmKzv1inn6uvYvi0bxm7zhGIqWSXKsDF4wnL-IsZ6-Ck7sSE9cUo54sListdz2mv9yrsD8R3P1PRyNiUqpMFBQn4LYm9vTvcozhOk4IbnSI2XjixeKBfrDWXrnSMCnyEAB@4\"}"; 161 | Json.Object parsed = Json.parse(payload).asObject(); 162 | String toString = parsed.toString(); 163 | assertEquals(payload, toString); 164 | } 165 | } 166 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 4.0.0 22 | 23 | org.sonatype.oss 24 | oss-parent 25 | 7 26 | 27 | com.republicate 28 | essential-json 29 | 2.7 30 | jar 31 | ${project.groupId}:${project.artifactId} 32 | JSON without fuss 33 | https://github.com/arkanovicz/essential-json 34 | 35 | 36 | Apache Licence 2.0 37 | http://www.apache.org/licenses/LICENSE-2.0 38 | 39 | 40 | 41 | scm:git:git@github.com:arkanovicz/essential-json.git 42 | scm:git:git@github.com:arkanovicz/essential-json.git 43 | https://github.com/arkanovicz/essential-json 44 | 45 | 46 | 47 | arkanovicz 48 | Claude Brisson 49 | claude@renegat.net 50 | republicate.com 51 | https://republicate.com 52 | 53 | 54 | 55 | UTF-8 56 | UTF-8 57 | 4.13.2 58 | 1.7.36 59 | 3.1.0 60 | 61 | 62 | 63 | ossrh 64 | https://oss.sonatype.org/content/repositories/snapshots 65 | 66 | 67 | 68 | install 69 | 70 | 71 | 72 | org.apache.maven.plugins 73 | maven-enforcer-plugin 74 | 3.1.0 75 | 76 | 77 | enforce-maven 78 | 79 | enforce 80 | 81 | 82 | 83 | 84 | [3.2.5,) 85 | Maven minimal expected version is 3.2.5. 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | org.apache.maven.plugins 96 | maven-compiler-plugin 97 | 3.10.1 98 | 99 | true 100 | 1.8 101 | 1.8 102 | 103 | 104 | 105 | 106 | 107 | org.sonatype.plugins 108 | nexus-staging-maven-plugin 109 | 1.6.13 110 | true 111 | 112 | ossrh 113 | https://oss.sonatype.org/ 114 | 115 | 116 | 117 | 118 | 119 | org.apache.maven.plugins 120 | maven-source-plugin 121 | 3.2.1 122 | 123 | false 124 | 125 | 126 | 127 | attach-sources 128 | 129 | jar-no-fork 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | org.apache.maven.plugins 138 | maven-surefire-plugin 139 | 3.0.0-M3 140 | 141 | ${project.build.testOutputDirectory} 142 | 143 | 144 | test.output.dir 145 | ${project.build.testOutputDirectory} 146 | 147 | 148 | org.slf4j.simpleLogger.defaultLogLevel 149 | info 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | org.apache.maven.plugins 158 | maven-gpg-plugin 159 | 3.0.1 160 | 161 | 162 | sign-artifacts 163 | verify 164 | 165 | sign 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | org.apache.maven.plugins 174 | maven-javadoc-plugin 175 | 3.4.0 176 | 177 | 178 | attach-javadocs 179 | 180 | jar 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | org.apache.maven.plugins 189 | maven-deploy-plugin 190 | 3.0.0-M2 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | junit 199 | junit 200 | ${junit.version} 201 | test 202 | 203 | 204 | 205 | 206 | org.slf4j 207 | slf4j-api 208 | ${slf4j.version} 209 | 210 | 211 | org.slf4j 212 | slf4j-simple 213 | ${slf4j.version} 214 | test 215 | 216 | 217 | 218 | 219 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | --------------------------------------------------------------------------------