Chinaunix

标题: 使用Json作为通信格式的问题? [打印本页]

作者: fender0107401    时间: 2016-04-11 11:08
标题: 使用Json作为通信格式的问题?
本帖最后由 fender0107401 于 2016-04-11 11:09 编辑

基本思路:

1.客户端使用QT,完全使用QT,使用QT自己的json函数来生成、解析json字符串。
2.服务器使用Boost,使用Boost的property_tree来生成、解析json字符串。

问题:

这些生成、解析json字符串的工具(函数)会如何处理“换行”之类的东西?

或者说,是不是所有的工具最终生成的json字符串都是“一行”?
作者: hellioncu    时间: 2016-04-11 11:20
客户端服务端都用一种json函数/对象不是更好么
作者: fender0107401    时间: 2016-04-11 11:26
hellioncu 发表于 2016-04-11 11:20
客户端服务端都用一种json函数/对象不是更好么


我也想啊,不过为了要保证客户端的可以跨平台,所以就只能用QT了,这样的话好弄一点。

我打算在Linux做开发,都搞定了以后,在windows上面用qt creator来编译出一个windows版的。
作者: littledick    时间: 2016-04-11 11:27
协议这层苦力活是绕不开的。
作者: fender0107401    时间: 2016-04-11 11:28
刚刚测了一下们貌似可以处理tab和换行。
作者: hellioncu    时间: 2016-04-11 11:28
fender0107401 发表于 2016-04-11 11:26
我也想啊,不过为了要保证客户端的可以跨平台,所以就只能用QT了,这样的话好弄一点。

我打算在Linu ...


json的库大把,绝大部分可以跨平台,内部不就是字符串处理么
作者: evaspring    时间: 2016-04-11 11:41
我觉得楼主要是想简单点 直接用 apache thrift 来做吧 不用自己写TCP处理逻辑
作者: hanxin83    时间: 2016-04-11 11:46
朋友, 你听说过安利吗....啊, 我呸....你听说过protobuf吗?
作者: hanzhenlll    时间: 2016-04-11 14:10
貌似 thrift 或 protobuf  更合适一点。
作者: windoze    时间: 2016-04-11 15:36
想省事就用thrift
想性能高点就用pb
想通用性好就用json
想冒充残障人士就用xml

作者: fender0107401    时间: 2016-04-11 15:46

作者: SeAL80s    时间: 2016-04-11 16:05
回复 10# windoze


    "想冒充残障人士就用xml",版主这是啥意思啊?xml过时了,还是过世了?
作者: littledick    时间: 2016-04-11 16:06
本帖最后由 littledick 于 2016-04-11 16:37 编辑

回复 12# SeAL80s


    xml费流量。而且解析起来更耗性能。
作者: fender0107401    时间: 2016-04-11 19:19
话说我也考虑了xml,不过感觉这货加了不少的标示,应该会占带宽,不如json省啊。当然了,也省不了多少。。。
作者: windoze    时间: 2016-04-11 21:25
回复 13# littledick

一个健全的程序,一旦选用XML作为通信协议的载体,瞬间就会变身残障人士。
作者: boyuan0706    时间: 2016-04-12 23:43
把json复制到notepad++,可以看到换行的特定字符。
亲测可行




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2