jso.to_string()={ "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
flags: 0x0, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
flags: 0x0, key: obj1, index: -1, value: 123
flags: 0x0, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: subobj1, index: -1, value: "aaa"
flags: 0x0, key: subobj2, index: -1, value: "bbb"
flags: 0x0, key: subobj3, index: -1, value: [ "elem1", "elem2", true ]
flags: 0x0, key: (null), index: 0, value: "elem1"
flags: 0x0, key: (null), index: 1, value: "elem2"
flags: 0x0, key: (null), index: 2, value: true
flags: 0x2, key: subobj3, index: -1, value: [ "elem1", "elem2", true ]
flags: 0x2, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: obj3, index: -1, value: 1.234
flags: 0x0, key: obj4, index: -1, value: [ true, false, null ]
flags: 0x0, key: (null), index: 0, value: true
flags: 0x0, key: (null), index: 1, value: false
flags: 0x0, key: (null), index: 2, value: null
flags: 0x2, key: obj4, index: -1, value: [ true, false, null ]
flags: 0x2, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
json_c_visit(emit_object)=0
================================

flags: 0x0, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
flags: 0x0, key: obj1, index: -1, value: 123
flags: 0x0, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: subobj1, index: -1, value: "aaa"
flags: 0x0, key: subobj2, index: -1, value: "bbb"
flags: 0x0, key: subobj3, index: -1, value: [ "elem1", "elem2", true ]
flags: 0x2, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: obj3, index: -1, value: 1.234
flags: 0x0, key: obj4, index: -1, value: [ true, false, null ]
flags: 0x2, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
json_c_visit(skip_arrays)=0
================================

flags: 0x0, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
flags: 0x0, key: obj1, index: -1, value: 123
flags: 0x0, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: subobj1, index: -1, value: "aaa"
POP after handling subobj1
flags: 0x2, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: obj3, index: -1, value: 1.234
STOP after handling obj3
json_c_visit(pop_and_stop)=0
================================

flags: 0x0, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
flags: 0x0, key: obj1, index: -1, value: 123
flags: 0x0, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: subobj1, index: -1, value: "aaa"
flags: 0x0, key: subobj2, index: -1, value: "bbb"
ERROR after handling subobj1
json_c_visit(err_on_subobj2)=-1
================================

flags: 0x0, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
flags: 0x0, key: obj1, index: -1, value: 123
flags: 0x0, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: subobj1, index: -1, value: "aaa"
flags: 0x0, key: subobj2, index: -1, value: "bbb"
flags: 0x0, key: subobj3, index: -1, value: [ "elem1", "elem2", true ]
flags: 0x0, key: (null), index: 0, value: "elem1"
POP after handling array[0]
flags: 0x2, key: subobj3, index: -1, value: [ "elem1", "elem2", true ]
flags: 0x2, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: obj3, index: -1, value: 1.234
flags: 0x0, key: obj4, index: -1, value: [ true, false, null ]
flags: 0x0, key: (null), index: 0, value: true
POP after handling array[0]
flags: 0x2, key: obj4, index: -1, value: [ true, false, null ]
flags: 0x2, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
json_c_visit(pop_array)=0
================================

flags: 0x0, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
flags: 0x0, key: obj1, index: -1, value: 123
flags: 0x0, key: obj2, index: -1, value: { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }
flags: 0x0, key: subobj1, index: -1, value: "aaa"
flags: 0x0, key: subobj2, index: -1, value: "bbb"
flags: 0x0, key: subobj3, index: -1, value: [ "elem1", "elem2", true ]
flags: 0x0, key: (null), index: 0, value: "elem1"
STOP after handling array[1]
json_c_visit(stop_array)=0
================================

flags: 0x0, key: (null), index: -1, value: { "obj1": 123, "obj2": { "subobj1": "aaa", "subobj2": "bbb", "subobj3": [ "elem1", "elem2", true ] }, "obj3": 1.234, "obj4": [ true, false, null ] }
ERROR: invalid return value from json_c_visit userfunc: 100
json_c_visit(err_return)=-1
================================

