.
因为PHP后端传送过来的接口并没有按照严格的Swagger文档来传值,所以最近对后台制定了相关的JSON规范。良好的规范有助于前端解码JSON,用Swift自带的Codable协议来解码JSON。
关于数据传输的JSON规范
JSON中允许的值类型
值传递的类型,应该严格按照接口文档定义的类型来返回,不能全部都返回String类型。
- 数字(整数或浮点型)
- 字符串(在双引号中)
- 逻辑值 (true或false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
示例
1 | { |
关于处理空值的情况
空值的相关情况
示例一
请求的列表,数组为空
1 | "stats": 1 |
示例二
存在两个值,另外一个值在特定的情况下才会有。例如价格存在price1
用户提交的价格和price2
议价后的价格。那么如果没有议价price2
应该null
1 | { |
空值的相关解释
{}
这个返回一个空的对象,你所找的该对象中的任何键值都是没有定义的。
{"myCount": null}
返回一个的对象,定义了myCount
的键值,但是这个值是空的。
{"myCount": 0}
这里myCount
的值是Int
的0,和null
不同,也不是布尔的false
。
{"myString": ""}
对象里定义了myString
,但是值是空的字符串。
{"myString": "null"}
对象定义了myString
,但是包含一个内容是null
的字符串
{"myArray": []}
对象定义了myArray
但是值是空的数组。