目前使用JSON文件的机会越来越大了,因为它简单,并且可读,无论是网络的协议交换,还是保存的文件格式,都是越来越多。无论是C++,还是python,或者JS,都是需求越来越多。
在C++里使用JSON的库也很多,但是使用boost库还是比较方便和快捷。
Boost就已经有能够解析JSON的库了,名字叫做Boost.PropertyTree。Boost.PropertyTree不仅仅能够解析JSON,还能解析XML,INI和INFO格式的文件。但是由于成文较早及需要兼容其他的数据格式,相比较于其他的C++解析库,其显得比较笨重,使用的时候有很多的不方便。
Boost.JSON相对于Boost.PropertyTree来所,其只能支持JSON格式的解析,但是其使用方法更为简便,直接。华丽胡哨的东西也更多了。
JSON的简单使用
有两种方法使用Boost.JSON,一种是动态链接库,此时引入头文件boost/json.hpp,同时链接对应的动态库;第二种是使用header only模式,此时只需要引入头文件boost/json/src.hpp即可。两种方法各有优缺点,酌情使用。
在这里使用连接库的方式来使用,首先创建一个boost库的工程,包含它的头文件的目录bo