Skip to content

shafreeck/pb2json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)