Swift 5:将数组/字典转换为JSON格式

问题描述 投票:0回答:1

我有如下数据:

[
  (ingredient_item: "Oil", ingredient_item_id: "1", ingredient_qty: "1", ingredient_unit_id: "Tsp", ingredient_remark: ""), 
  (ingredient_item: "Saffron", ingredient_item_id: "2", ingredient_qty: "2", ingredient_unit_id: "Tsp", ingredient_remark: ""), 
  (ingredient_item: "Rice", ingredient_item_id: "3", ingredient_qty: "2", ingredient_unit_id: "Cup", ingredient_remark: "")
]

并且所需的输出格式如下:

ingredients
[
 {
  ingredient_item:chicken,
  ingredient_item_id:1,
  ingredient_qty:2,
  ingredient_unit_id:2,
  ingredient_remark:abcd
 },
 {
  ingredient_item:salt,
  ingredient_item_id:2,
  ingredient_qty:2,
  ingredient_unit_id:2
  ingredient_remark:abcd
 }
]

有人可以帮我解决这个问题吗?

arrays json swift dictionary
1个回答
0
投票

您可以创建模型并对其进行编码;

let yourArray = [
  (ingredient_item: "Oil", ingredient_item_id: "1", ingredient_qty: "1", ingredient_unit_id: "Tsp", ingredient_remark: ""),
  (ingredient_item: "Saffron", ingredient_item_id: "2", ingredient_qty: "2", ingredient_unit_id: "Tsp", ingredient_remark: ""),
  (ingredient_item: "Rice", ingredient_item_id: "3", ingredient_qty: "2", ingredient_unit_id: "Cup", ingredient_remark: "")
]

let arr = yourArray.map({ Model(ingredient_item: $0,
                          ingredient_item_id: $1,
                          ingredient_qty: $2,
                          ingredient_unit_id: $3,
                          ingredient_remark: $4)})

let jsonData = try! JSONEncoder().encode(arr)
let jsonString = String(data: jsonData, encoding: .utf8)
© www.soinside.com 2019 - 2024. All rights reserved.