У меня есть 4 словаря с разными именами, указанными ниже ...
let dict = [
"ResolutionID": [1: "101", 2: "102", 3: "103", 0: "100"],
"Planned": [3: "Y", 1: "Y", 2: "Y"],
"Done": [2: "Y"],
"Who": [2: "qw", 0: "bcc"]
]
Имена этих словарей соответствуют именам ключей моего объекта json и ключей в приведенных выше словарях ( 0,1,2 et c.) Соответствуют общему количеству json объектов в моем массиве. Итак, в приведенном выше случае, поскольку максимальный ключ среди словарей равен 3, у меня будет 4 объекта в моем json массиве (0-3)
Итак, я хотел создать массив json, который, наконец, выглядит так ...
[
{
"ResolutionID":100,
"Who":"bcc",
"Planned":"",
"Done":""
},
{
"ResolutionID":101,
"Who":"",
"Planned":"Y",
"Done":""
},
{
"ResolutionID":102,
"Who":"qw",
"Planned":"Y",
"Done":"Y"
},
{
"ResolutionID":103,
"Who":"",
"Planned":"Y",
"Done":""
}
]
Пробовал использовать merge
и merging
. Но это не сработало ...
Теперь я не уверен, как добиться такого результата ...
РЕДАКТИРОВАТЬ: Это то, что я пробовал ..
Я пробовал использовать for-l oop для сравнения тех же ключей и затем добавлять их в массив. Но он присваивает неправильные значения. Вот что я пробовал ...
for (indexSel,plantCode) in selectionOptionDic {
resolutionDict["ResolutionID"] = plantCode
for (indexPL,planned) in selectionPlannedDic {
if indexPL == indexSel {
resolutionDict["Planned"] = planned
}
for (indexDone,done) in selectionDoneDic {
if indexDone == indexPL {
resolutionDict["Done"] = done
}
for (indexWho,text) in selectionWhoDic {
if indexWho == indexDone {
resolutionDict["Who"] = text
}
}
}
arrayOfResolutions.append(resolutionDict)
}
}