Open siilike opened 3 years ago
@siilike please check if this fixes the bug for you
It does work for the initial test case, but now it breaks elsewhere: Invalid type for byteSize()
. The same error was produced before for indexed arrays.
The JSON being serialized is the following:
If you don't mind building a PHP extension you can try it out here: https://github.com/siilike/php-vpack
After building (no need to install) run php -n -d extension=./modules/vpack.so examples/json2vpack.php file.json | velocypack/build/tools/vpack-to-json
which will produce caught exception: length 0 is invalid for any VelocyPack value
.
It worked fine with the fix I made based on the master branch.
The difference compared to vpack-to-json is the following (right one is correct):
0000037E 06 03 000006FB 06 03 00000AE6 06 03 00000F6D 06 03 000012FE 06 03 0000170D 06 03 00001B24 06 03 00001EFF 06 03 000022BD 06 03 0000230B 12 09
I am trying to serialize
[1,[2]]
, but somehow the last byte is 03 instead of 02.13 08 31 13 04 32 01 02
-- json-to-vpack (note that Parser uses private API)13 08 31 13 04 32 01 03
-- my output[1,[2,[3,[4,[5]]]]]
produces:13 14 31 13 10 32 13 0c 33 13 08 34 13 04 35 01 03 03 03 03
instead of13 14 31 13 10 32 13 0c 33 13 08 34 13 04 35 01 02 02 02 02
.vpack-to-json complains "caught exception: length 0 is invalid for any VelocyPack value"
The arrays except for the outer one are written from inside Serializable, but the code that does it for both is the same.
I will try to produce a sample. This also happens with the indexed version.