Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.28 KB

README.md

File metadata and controls

43 lines (32 loc) · 1.28 KB

1. Introducton:

Decode protobuf to json format

Build Status

It depends on jansson(https://github.com/akheron/jansson) to pack json

Support all type of protobuf Message (example: see test/person.proto) and binary bytes(jansson does not support binary bytes) will be translated to hex sequence

2. Install

This library depends on jansson(http://www.digip.org/jansson/)

We assumed you have installed protobuf

1) install jansson

wget "http://www.digip.org/jansson/releases/jansson-2.1.tar.gz "
tar -zxvf jansson-2.1.tar.gz
cd jansson-2.1
./configure
make
sudo make install

2)install pb2json (is simple)

make
sudo make install

3. Test & example

cd $src/test
run make to generate object files
./runtest to see the result

4. Usage

You can refer to $src/test/test_json.cpp

It is pretty simple to use ,and we just have one API:

char *pb2json(Message *msg,const char *buf, int len);

return json string if sucess ,NULL if failed,it should be freed by caller
msg : instance of class generated by protoc
buf : binary content of protobuf
len : length of buf

There is another variance:

char *pb2json(Message &msg)