[英]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.