Closed
Description
Hi.
Could you check following code out?
// creating json string: { "foo1": { "bar1": "", "bar2": "aaa...aaa" }, "foo2":"test" }
StringBuilder json = new StringBuilder().append("{ \"foo1\": { \"bar1\": \"\", \"bar2\": \"");
for (int i = 0; i < 231; ++i) { // the length 231 is important!
json.append("a");
}
json.append("\" }, \"foo2\":\"test\" }");
VPackSlice slice = new VPackParser().fromJson(json.toString());
System.out.println(slice.toString());
slice.toString()
throws NoSuchElementException:
Exception in thread "main" java.util.NoSuchElementException
at com.arangodb.velocypack.ObjectIterator$1.getKey(ObjectIterator.java:80)
at com.arangodb.velocypack.ObjectIterator$1.getKey(ObjectIterator.java:64)
at com.arangodb.velocypack.VPackParser.parseObject(VPackParser.java:188)
at com.arangodb.velocypack.VPackParser.parse(VPackParser.java:153)
at com.arangodb.velocypack.VPackParser.toJson(VPackParser.java:73)
at com.arangodb.velocypack.VPackSlice.toString(VPackSlice.java:774)
at net.g1project.arangodbtest.ArangoDBTest.main(ArangoDBTest.java:81)
I printed out slice.getBuffer()
, and I think that object length is not set properly in some cases.
0c 1c 01 02 00 00 00 00 00 44 66 6f 6f 31 0b *00* 02 44 62 61 72 31 40 44 62 61 72 32 bf e7 00 00 00 00 00 00 00 61 61 61 61 61 ...
I'm using 4.1.3 version.
Thanks in advance.