繁体   English   中英

将字符串数组转换为JSON或2D数组SWIFT

[英]Convert String Array to JSON or 2D Array SWIFT

我目前有一个NSMutableArray“ localArray”,我正在尝试将其创建为JSON数组或2D数组。 我在创建数据库并使用数据库上的for循环运行查询时获得了这些数据。

{
Food,
Burger,
3.99,
1.25,
POP,
Crush,
1.99,
.89,
and more.
}

我要查找JSON或2d数组的原因是我希望将数据保存在localArray中,这样我可以按类型进行标识,然后执行.valueForKey("Name").valurForKey("Price") ,并将其添加到我的表格视图的单元格文本标签中。

{
  {
  Type Food,
  Name Burger,
  Price 3.99,
  Cost 1.25,
  },
  { 
  Type POP,
  Name Crush,
  Price 1.99,
  Cost .89,
  },
  and more
}

我已经尝试过JSONSerialization,但是失败了,还尝试了2d Array,但是没有运气。 任何帮助将不胜感激。

这就是我查询并将数据添加到localArray的方法

let queryType = data.select(ada, code, name, proof, size, case_size, price)
        .filter(bevType == type)

    let rows = Array(queryType)

    for row in rows{
        let name = row[self.name]
        let type = row[self.type]
        let cost = row[self.cost]
        let price = row[self.price]


        localArray.addObject(name)
        localArray.addObject(type)
        localArray.addObject(cost)
        localArray.addObject(price)

    }  

如果字段总是以4个计数重复,则可以尝试执行以下操作:

var array = [[String: AnyObject]]() 
for var i = 0 ; i < array.count ; i += 4 {
    var k = 0
    var dict = [String: AnyObject]
    dict["Type"] = array[i + k++]
    dict["Name"] = array[i + k++]
    dict["Price"] = array[i + k++]
    dict["Cost"] = array[i + k]
    array.append(dict)
}

然后从这个swift数组中提取字典,并使用相同的键从字典中提取要在您的单元格中使用的数据,例如

let dict = array[indexPath.row]
cell.title = dict["Name"]

我自己通过创建字典解决了问题。

    for row in rows{
        var rDict: Dictionary = [String: String]()
        rDict["Name"] = row[self.name]
        rDict["Type"] = row[self.type]
        rDict["Cost"] = row[self.cost]
        rDict["Price"] = row[self.price]

        localArray.addObject(rDict)
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM