The output of the above code is as follows:
ClassWithImplicitNonArgConstructor ---------------------------------- json = {"val1":500} value1 = 500 value3 = 3 intArray = [1, 2, 3] ClassWithOnlyArgumentConstructor -------------------------------- json = {"val1":1} value3 = 0 intArray = null ClassWithExplicitNonArgConstructor ---------------------------------- json = {"val1":1} value3 = 3 intArray = [1, 2, 3]