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

时间:2015-06-11 18:28:48

标签: ios arrays json swift

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

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

我正在寻找JSON或2d数组的原因是我希望以一种我可以按类型识别的方式保存localArray中的数据,然后执行类似.valueForKey("Name")或{{1}的操作并将其添加到我的tableview的单元格文本标签或标签。

.valurForKey("Price")

我已经尝试过JSONSerialization,但是失败并且尝试了2D阵列却没有运气。 任何帮助将受到高度赞赏。

这是我查询并将数据添加到localArray

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

2 个答案:

答案 0 :(得分:0)

如果字段总是重复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"]

答案 1 :(得分:0)

我通过创建字典来解决这个问题。

    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)
    }