我有一个像这样声明的字典 var arrayOfDictionary = [[:]]
。现在我的 tableviewcell 中有一些数据,如 rate
、id
等。我将这些值存储在字典中,就像在 cellForRowAt
中一样...
var dictionary = ["id": "", "quantity": "","sellingPrice":""] as [String : Any]
dictionary["id"] = product?.id
dictionary["quantity"] = product?.quantity
dictionary["sellingPrice"] = product?.theRate
arrayOfDictionary.append(dictionary)
现在,当我打印 arrayOfDictionary
时,我得到类似这样的东西......
[[:], [AnyHashable("id"): "5", AnyHashable("sellingPrice"): "499", AnyHashable("quantity"): "-1"], [AnyHashable("id"): "8", AnyHashable("sellingPrice"): "500", AnyHashable("quantity"): "79"], [AnyHashable("id"): "8", AnyHashable("sellingPrice"): "500", AnyHashable("quantity"): "79"]]
即3个产品的id
、数量
和费率
。但我不想要这种格式,而是我想要第一组 id
、rate
和 quantity
一组,第二组id
、rate
和 quantity
在另一个组中等等..
简而言之,我希望它们采用这种格式...
[{"remaining_balance":"0.0","shipping_charges":0, "grand_total":320,"product_id”:”4”}, {"remaining_balance”:”1.0”,”shipping_charges”:200, "grand_total”:456,”product_id”:”5”}]
最佳答案
别担心,这也是一个字典数组,但您对 JSON 打印格式和字典打印格式数组感到困惑:
[[:], [AnyHashable("id"): "5", AnyHashable("sellingPrice"): "499", AnyHashable("quantity"): "-1"], [AnyHashable("id"): "8", AnyHashable("sellingPrice"): "500", AnyHashable("quantity"): "79"], [AnyHashable("id"): "8", AnyHashable("sellingPrice"): "500", AnyHashable("quantity"): "79"]]
这是你数组中的字典:
[AnyHashable("id"): "5", AnyHashable("sellingPrice"): "499", AnyHashable("quantity"): "-1"],
你可以通过迭代来验证它:
for dict in arrayOfDictionary {
print(dict)
}
编辑
var arrayOfDictionary = [[String:Any]]()
var dictionary = ["id": "", "quantity": "","sellingPrice":""] as [String : Any]
dictionary["id"] = product?.id
dictionary["quantity"] = product?.quantity
dictionary["sellingPrice"] = product?.theRate
arrayOfDictionary.append(dictionary)
let data = try! JSONSerialization.data(withJSONObject: arrayOfDictionary, options: .prettyPrinted)
print(data)
let json = NSString(data: data, encoding: String.Encoding.utf8.rawValue)
print(json)
关于ios - 显示字典数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47156744/