美文网首页IOS
JSON文件自动生成Swift模型文件

JSON文件自动生成Swift模型文件

作者: 瑟闻风倾 | 来源:发表于2019-01-11 20:35 被阅读0次

    1. JSON文件自动生成Swift模型文件:

    「JSONExport汉化版」(https://github.com/yagamis/JSONExport)
    使用参考:「JSON转Swift模型文件」(http://www.xiaoboswift.com/course/50/task/492/show)

    image.png
    如:
    (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文件.

    相关文章

      网友评论

        本文标题:JSON文件自动生成Swift模型文件

        本文链接:https://www.haomeiwen.com/subject/onjfdqtx.html