Json帮助类库

1 关于JSon
这里有比较详细的介绍http://www.json.org/,下面还有各种语言的支持库。
JSon类库的本质是完成两个事情,一个序列化,一个反序列化。
2 C#下的类库
(1).Net自身的类库
其实.Net自身已经有支持这种转换的类库了,这点在这里有介绍。https://www.cnblogs.com/coderzh/archive/2008/11/25/1340862.html
这个例子中对于中文不支持,在这个例子中增加了对于编码的支持,可以支持,可以参考:https://www.cnblogs.com/xxaxx/p/5844958.html

一般情况下这些类库就能完成功能,但有以下几点:
(a)性能
(b)封装性,从上面的可以看出,还是要自己些一些转换的过程,并且对于中文的支持还需要额外加处理。

所以后来又有一些其他的类库。

(2)Json.Net / Newtonsoft.Json
Newtonsoft.Json,一款.NET中开源的Json序列化和反序列化类库,官网:https://www.newtonsoft.com/json
他与.Net下的类库有几个比较,包括性能,还有支持Linq,XML直接转换等。

另外有介绍使用例子,有对其进行了封装,其中包括匿名支持、数据库结构支持等。见:https://www.cnblogs.com/BrokenIce/p/5902441.html

下载地址:
(a)官网给出的地址下
(b)利用VS的NuGet搜索安装即可使用!

(3)这里有基于Newtonsoft.Json的封装的类。
比较全的,有四个类。基于Json.Net / Newtonsoft.Json。需要安装其类库。
https://www.cnblogs.com/yuangang/p/5468777.html

(4)其他库
https://github.com/isair/JSONHelper

3 C++类库
(1)JSoncpp
库下载地址:https://sourceforge.net/projects/jsoncpp/
或:https://github.com/open-source-parsers/jsoncpp
完整的库帮助文档:http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html
网友的介绍和示例:
https://blog.csdn.net/u012372584/article/details/78901015
JsonCpp使用方法详解(附代码下载):https://blog.csdn.net/ScnQuick/article/details/80803388
Jsoncpp如何使用及样例:https://blog.csdn.net/u010921682/article/details/80626011
Jsoncpp 使用方法大全:https://blog.csdn.net/benbenxiongyuan/article/details/78537453
(2)我下载的库
关于库的使用方法,在JsonCpp使用方法详解(附代码下载):https://blog.csdn.net/ScnQuick/article/details/80803388中有介绍。
我按照第一种方法试的。步骤如下:
(a)将json头文件整个文件夹放在项目目录下。
(b)将lib_json.lib放在项目目录下。
(3)在使用json类的.cpp文件中增加以下头文件信息:

#include "json/json.h"
#pragma comment(lib,"lib_json.lib")
#pragma warning( disable : 4996)

注:使用#pragma warning( disable : 4996)该语句是因为我的代码中使用了cpp的旧类,JsonReader等。
但时编译连接时发现了一大堆错误,主要两类LNK2005和LNK2038。
经查LNK2038是因为几个工程的 运行库设置不一样了,将项目设置如下:
项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库
都设置一样,设置为: 多线程调试(/MTd)
之后编译连接通过!!

猜你喜欢

转载自blog.csdn.net/kevinshift/article/details/86368913