1
linnchord 2015-12-21 21:36:25 +08:00
py2.6 以上内置 simplejson https://pypi.python.org/pypi/simplejson/
|
2
xufang 2015-12-21 21:41:47 +08:00
没啥好办法,如果客户端不改的话,你只能去适配它们。
适配的办法,参见 http://www.yilmazhuseyin.com/blog/dev/advanced_json_manipulation_with_python/ |
3
mengzhuo 2015-12-21 21:59:05 +08:00
LZ 还是太年轻了
都用 json 做数据格式了,两边协调下 model 就好了嘛。 |
4
klesh 2015-12-21 22:01:33 +08:00
3 楼, gson 是 java 的 json 库。
|
5
saberlion 2015-12-21 22:21:54 +08:00 via Android
自己的服务器是 flask ,安卓用 gson ,没啥问题啊
|
6
ciki OP 因为服务器开发对 model 的理解感觉不够,然后我这边需要对各种 model 封装,他那边没有对所有的 json 进行 model 处理的概念,所以我这边的 model 封装就各种匹配不上
|
7
ciki OP 我是客户端
|
8
ciki OP 每次返回的 json 格式都不一样,让人怎么封装
|
9
klesh 2015-12-22 11:33:15 +08:00
我感觉你的问题跟 json 无关
你的意思是服务器返回的 schema 每次不一样?但这个假设也比较离奇!没什么道理要这样做 楼主贴下实例看下? |
10
ciki OP 可能是表达有问题,不是每次请求不一样,是整体上,封装的概念不够。这个接口返回的这样,那个接口返回的结构可能又不一样了。导致我的封装就太过于碎片化
|
11
jjx 2015-12-22 14:14:13 +08:00
不同的方法肯定返回的结果不一样的, 举个例子, 10 个报表个个返回字段都是不同的, 强求相同对后端有害, 怎么处理是你的事情, 这怪不到后端
|
13
klesh 2015-12-22 15:42:20 +08:00
|
14
ciki OP @klesh 不是字段的问题,是需要封装的问题,比如{user{}} 那么这个 user 字段的多少无关,关机是所有的数据都要保持这种结构,再比如{xxx{[],[]}}这类,那么至少要保证每个[]里面的数据具有一致性,如果不是一致性,需要有明确的字段告诉你区分。
|
15
klesh 2015-12-22 22:43:11 +08:00
封装( Encapsulation )是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
我猜测你讲的结构是 DTD ,你的意思是这个 user 字段可能存在也不可能不存在? 如果是这样也是正常的,毕竟指定 id 的 user 可能不在存在。可以通过 Result 下在包一个 User user 去配合。 ``` class Result { public User user; public User getUser() { return user; } } ``` []中的数据一致性是指什么?长度一致?类型一致?内容一致? |
16
ciki OP @klesh 我的意思是所有 user 相关的字段都应该只存在 user{}这个结构里面,而不是 user 里面有几个,外面有几个。这只是一个简单的例子。整体来说,应该所有的设计都应该是 pojo 的概念,也就是定义好一个后,以后最多只是基于它的继承扩展,而不应该是又创建一个新的结构.
|