1. JSON文件自动生成Swift模型文件:
「JSONExport汉化版」(https://github.com/yagamis/JSONExport)
使用参考:「JSON转Swift模型文件」(http://www.xiaoboswift.com/course/50/task/492/show)
如:
(1)json为:
{"code":"0","msg":"success","data":{"machineList":[{"cm_id":"189","company_id":"50","machine_id":"142","cate":{"cate_id":"106","sort":"0","parent_id":"2","cate_name":"MCD门襟卷缝机","image":"\/upload\/image\/2018\/09\/09e8b04e355df957610c6e33d81275de.jpg","machine_num":"0","unit":"个","time_unit":"秒","is_jtj":"0","tiered_num":"0","tiered_discount":"0.00"},"cust_group":"0","is_lock":"0","is_rent":"0","status":"1","machine":{"machine_id":"142","cate":"2","cate2":"106","name":"门襟卷缝机(一楼测试2)","sn":"MCD201793","channel":"1","price":"0.000","description":null,"image":"http:\/\/s.uchat.com.cn\/upload\/image\/2018\/09\/09e8b04e355df957610c6e33d81275de_150x150.jpg","tags":null,"protocol":null,"location":"","device_id":"505776789","imsi":"460040148225988","ProductKey":null,"DeviceName":null,"DeviceSecret":null,"IotId":null,"lac":"26475","ci":"12266","csq":"0","lat":"","lng":"","software":"macia_datacollector_v2.0.0","build_time":"0","hardware":"Protocol_Converter_v3.5","ota_time":"0","add_time":"1544418000","rent_out":"1","status":"1","status_time":"1546413771","login_type":"7","maintain_time":"1000","last_time":"0","params":null,"param_time":"0","parameter":null,"params_set":null,"devctrl":"0","sale_type":"2","is_del":"0"},"use_time":0,"i":1},{"cm_id":"140","company_id":"50","machine_id":"25","cate":"2","cust_group":"0","is_lock":"0","is_rent":"1","status":"1","machine":{"machine_id":"25","cate":"2","cate2":"0","name":"开发测试(agent)","sn":"LHCS02","channel":"1","price":"0.000","description":null,"image":"http:\/\/s.uchat.com.cn\/public\/images\/nopic300.png","tags":null,"protocol":null,"location":"","device_id":"38785262","imsi":"460040148224239","ProductKey":null,"DeviceName":null,"DeviceSecret":null,"IotId":null,"lac":"22706","ci":"48888","csq":"12","lat":"","lng":"","software":"macia_datacollector_v2.0.0","build_time":"0","hardware":"Protocol_Converter_v3.5","ota_time":"0","add_time":"1533892588","rent_out":"1","status":"0","status_time":"1545917649","login_type":"7","maintain_time":"0","last_time":"0","params":null,"param_time":"0","parameter":null,"params_set":null,"devctrl":"1","sale_type":"2","is_del":"0"},"use_time":0,"i":2}],"machineNum":2,"machineGroup":[],"onlineNum":1,"company_id":50}}
格式化后即为:
{
"code": "0",
"msg": "success",
"data": {
"machineList": [
{
"cm_id": "189",
"company_id": "50",
"machine_id": "142",
"cate": {
"cate_id": "106",
"sort": "0",
"parent_id": "2",
"cate_name": "MCD门襟卷缝机",
"image": "/upload/image/2018/09/09e8b04e355df957610c6e33d81275de.jpg",
"machine_num": "0",
"unit": "个",
"time_unit": "秒",
"is_jtj": "0",
"tiered_num": "0",
"tiered_discount": "0.00"
},
"cust_group": "0",
"is_lock": "0",
"is_rent": "0",
"status": "1",
"machine": {
"machine_id": "142",
"cate": "2",
"cate2": "106",
"name": "门襟卷缝机(一楼测试2)",
"sn": "MCD201793",
"channel": "1",
"price": "0.000",
"description": null,
"image": "http://s.uchat.com.cn/upload/image/2018/09/09e8b04e355df957610c6e33d81275de_150x150.jpg",
"tags": null,
"protocol": null,
"location": "",
"device_id": "505776789",
"imsi": "460040148225988",
"ProductKey": null,
"DeviceName": null,
"DeviceSecret": null,
"IotId": null,
"lac": "26475",
"ci": "12266",
"csq": "0",
"lat": "",
"lng": "",
"software": "macia_datacollector_v2.0.0",
"build_time": "0",
"hardware": "Protocol_Converter_v3.5",
"ota_time": "0",
"add_time": "1544418000",
"rent_out": "1",
"status": "1",
"status_time": "1546413771",
"login_type": "7",
"maintain_time": "1000",
"last_time": "0",
"params": null,
"param_time": "0",
"parameter": null,
"params_set": null,
"devctrl": "0",
"sale_type": "2",
"is_del": "0"
},
"use_time": 0,
"i": 1
},
{
"cm_id": "140",
"company_id": "50",
"machine_id": "25",
"cate": "2",
"cust_group": "0",
"is_lock": "0",
"is_rent": "1",
"status": "1",
"machine": {
"machine_id": "25",
"cate": "2",
"cate2": "0",
"name": "开发测试(agent)",
"sn": "LHCS02",
"channel": "1",
"price": "0.000",
"description": null,
"image": "http://s.uchat.com.cn/public/images/nopic300.png",
"tags": null,
"protocol": null,
"location": "",
"device_id": "38785262",
"imsi": "460040148224239",
"ProductKey": null,
"DeviceName": null,
"DeviceSecret": null,
"IotId": null,
"lac": "22706",
"ci": "48888",
"csq": "12",
"lat": "",
"lng": "",
"software": "macia_datacollector_v2.0.0",
"build_time": "0",
"hardware": "Protocol_Converter_v3.5",
"ota_time": "0",
"add_time": "1533892588",
"rent_out": "1",
"status": "0",
"status_time": "1545917649",
"login_type": "7",
"maintain_time": "0",
"last_time": "0",
"params": null,
"param_time": "0",
"parameter": null,
"params_set": null,
"devctrl": "1",
"sale_type": "2",
"is_del": "0"
},
"use_time": 0,
"i": 2
}
],
"machineNum": 2,
"machineGroup": [],
"onlineNum": 1,
"company_id": 50
}
}
(2)JSON文件自动生成Swift模型文件
屏幕快照 2019-01-03 上午9.31.48.png
屏幕快照 2019-01-03 上午9.35.21.png
注意:服务器返回的Data数据模型/protocol字段和Swift中的系统自带类/关键词冲突将导致系统报错,解决方法是服务端重命名返回的字段来避免字段冲突.
image.png
(3)文件保存后拖动到当前项目目录下
注意:若直接保存到当前项目目录时,保存成功同时在文件夹下能找到,但是当打开项目时并不能找到新生成的swift文件.
网友评论