如何通过json(Dictionary)生成模型类或将属性添加到没有属性

时间:2017-07-14 03:58:02

标签: json swift dynamic class-properties

我花了很多时间编写无意义的代码来生成模型类。 例如:这里是json数据

    {
  "id": 1,
  "productcode": "5012014032",
  "productname": "通用点数",
  "categoryid": null,
  "supplierid": null,
  "inprice": null,
  "unit": "¥",
  "barcode": "2546138769542",
  "outprice": 1500,
  "safestock": null,
  "bdate": 1483200000000,
  "type": null,
  "detail": "这是通用点数",
  "ext": null,
  "ext2": null,
  "points": "15",
  "validmonth": 3,
  "photoid": 2,
  "path": "/upload/26-9449705-1477983341-.jpg",
  "productid": 1
}

然后我创建了类Product:

class Product: NSObject {
let id: String
let productcode: String
let productname: String
let categoryid: String
let supplierid: String
let inprice: String
let unit: String
let barcode: String
let outprice: String
let safestock: String
let bdate: String
let type: String
let detail: String
let ext: String
let ext2: String
let points: String
let validmonth: String
let photoid: String
let path: String
let productid: String

init(id: String, productcode: String, productname: String, categoryid: String, supplierid: String, inprice: String, unit: String, barcode: String, outprice: String, safestock: String, bdate: String, type: String, detail: String, ext: String, ext2: String, points: String, validmonth: String, photoid: String, path: String, productid: String) {
    self.id = id
    self.productcode = productcode
    self.productname = productname
    self.categoryid = categoryid
    self.supplierid = supplierid
    self.inprice = inprice
    self.unit = unit
    self.barcode = barcode
    self.outprice = outprice
    self.safestock = safestock
    self.bdate = bdate
    self.type = type
    self.detail = detail
    self.ext = ext
    self.ext2 = ext2
    self.points = points
    self.validmonth = validmonth
    self.photoid = photoid
    self.path = path
    self.productid = productid
}}

太无聊了。现在我想知道是否可以通过编程方式生成相应的类或者将属性添加到没有属性的类。

希望你知道我说的话。挥手和目标-C都是可以接受的。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

请参阅以下链接,只需在此应用中传递您的JSON数据。

<强> https://github.com/Ahmed-Ali/JSONExport

1)克隆项目。

2)在Xcode中运行项目。

3)将JSON响应粘贴到您运行的应用程序中。

4)现在按保存按钮。

5)你得到了模型swift文件。

我们还可以使用网站生成模型。

<强> http://www.jsoncafe.com

答案 1 :(得分:0)

最好的方法是使用 Swifty JSON加速器

只需传递有效的JSON字典,它就会返回模型文件。

Github上的availbale示例:

https://github.com/insanoid/SwiftyJSONAccelerator

该工具可从以下网址下载:

https://github.com/insanoid/SwiftyJSONAccelerator/releases/download/v1.4.0/SwiftyJSONAccelerator.zip