slowcheetah

Results 12 comments of slowcheetah

Hello! We can try to help you to understand how CJSON works. The general description of CJSON you can find here: https://github.com/Restream/reindexer/tree/master/cpp_src/core/cjson (readme.md). This is how cjson tag looks like:...

![Screenshot from 2021-08-06 14-00-37](https://user-images.githubusercontent.com/13511081/128500927-72ef328f-211c-4703-bb91-76162b402190.png) This looks like an ordinary CJSON of some item - it's perfectly normal.

This is how it is implemented in Golang: https://github.com/Restream/reindexer/tree/master/cjson

ctag and carraytag always have the same size. If tag.field is -1 then field's value is encoded next to it, otherwise comes the next tag (tag of the next field)...

You want to parse this binary format CJSON like some text string - it makes no sense. I can tell you what, for example, ```0006``` means to decoder - it...

If you let us know what the goal of your secret mission is, then we'll probably give you better advices.

Ok, clear. As for ```varuint```, we have this in ```WrSerializer```: ```C++ template void PutVarUint(T v) { grow(10); len_ += uint64_pack(v, buf_ + len_); } template = 0 && v <...

As for encoding CJSON non-index fields (values + tags) take a look at ```CJsonBuilder``` class and methods like these: ```C++ CJsonBuilder &CJsonBuilder::Put(int tagName, int64_t arg) { if (type_ == ObjType::TypeArray)...

As for C++ IDE for Windows you might try to use CLion - it works perfectly well with CMake projects + there is an opportunity to use it for free...

I'll try to explain CJSON the easiest possible way here. Imagine, you have this Item: ```{"id":1, "name":"Teddy", "rating":9}``` - ```id``` and ```name``` are indexed fields, ```bonus``` isn't. We start it...