Swift Codableを使用して、特定の並べ替え順序に従ってカスタムオブジェクトを並べ替える方法

しわにパンディ

特定の並べ替え順序に従ってコード化可能なカスタムオブジェクトをすばやく並べ替える方法。私は迅速なコード化可能なプロトコルを使用しています。

{
    "data": {
        "team": [
              {
                "name": "XYZ",
                "designation": "Managing director - South Asia"
              },
              {
                "name": "XYZ",
                "designation": "Managing director - South Asia"
              }
            ],
        "recruiterName": "Lorium Ipsem text",
        "respondsQuickly": "1"
    },
    "metaData": {
                "sortOrder": [
                  "respondsQuickly",
                  "recruiterName",
                  "team"
                ]
              }
}

ここでは、sortOrderオブジェクトに従ってデータオブジェクトを並べ替える必要があります。これは現在Modelオブジェクトです

struct Welcome: Codable {
let data: DataClass?
let metaData: MetaData?
}
struct JDDataClass: Codable {
   let team: [Team]?
   let recruiterName, respondsQuickly: String?
}

struct Team: Codable {
   let name, designation: String?
}
struct JDMetaData: Codable {
let sortOrder: [String]?
}

モデルとしてもオールキーを探すことはできません。Codabaleプロトコルのカスタムオブジェクトとして、JSONや辞書ではなくなりました。

必要な出力:

let myArray = [
        {"respondsQuickly": "1"},
        {"recruiterName": "Lorium Ipsem text"},
        {"team": [
              {
                "name": "XYZ",
                "designation": "Managing director - South Asia"
              },
              {
                "name": "XYZ",
                "designation": "Managing director - South Asia"
              }
            ]
        }
    ]
Sudhir kumar

これは実用的な遊び場コードです。確認できます。これがお役に立てば幸いです。arrResultはあなたの答えを保持しています。

struct Welcome: Codable {
let data: JDDataClass?
let metaData: JDMetaData?
}
struct JDDataClass: Codable {
let team: [Team]?
let recruiterName, respondsQuickly: String?
}

struct Team: Codable {
let name, designation: String?
}
struct JDMetaData: Codable {
let sortOrder: [String]?
}

let multiLineString = """
{
"data": {
"team": [
{
"name": "XYZ",
"designation": "Managing director - South Asia"
},
{
"name": "XYZ",
"designation": "Managing director - South Asia"
}
],
"recruiterName": "Lorium Ipsem text",
"respondsQuickly": "1"
},
"metaData": {
"sortOrder": [
"respondsQuickly",
"recruiterName",
"team"
]
}
}
"""
extension Encodable {
subscript(key: String) -> Any? {
    return dictionary[key]
}
var dictionary: [String: Any] {
    return (try? JSONSerialization.jsonObject(with: JSONEncoder().encode(self))) as? [String: Any] ?? [:]
 }
 }
 let decoder = JSONDecoder()

 do {
if let data = multiLineString.data(using: String.Encoding.utf8, allowLossyConversion: false){
  let json = try decoder.decode(Welcome.self, from: data)
    var arrResult = [[String : Any]]()
    if let sortOrder = json.metaData?.sortOrder {
       for item in sortOrder {
        if let data = json.data {
            if let obj = data[item] {
                arrResult.append([item: obj])
            }
        }
    }
        print(arrResult)
 }
 }
 } catch {
print(error)
 }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Swift 3:オブジェクトの順序付きリストをプロパティで並べ替える

分類Dev

Swift3でコアデータオブジェクトの配列を並べ替えてそのInt属性を並べ替える方法

分類Dev

swift 3でカスタマイズされたステータス値でカスタムオブジェクトの配列を並べ替える方法は?

分類Dev

Swift3でレルムオブジェクトをアルファベット順に並べ替える

分類Dev

Swift3iOSの文字列パラメーターを使用してオブジェクトの配列を並べ替える

分類Dev

Swiftの配列を最後のオブジェクトで並べ替える

分類Dev

SwiftでNSDictionaryオブジェクトのNSArrayを並べ替える

分類Dev

Swift:オブジェクトの配列をアルファベット順に並べ替え

分類Dev

Swiftの与えられたインデックスに従って配列を並べ替えます

分類Dev

Swiftで可能なすべてのシーケンスにオブジェクトの配列を並べ替えます

分類Dev

Swiftで可能なすべてのシーケンスにオブジェクトの配列を並べ替えます

分類Dev

(Swift 3)Swift 3でクラスオブジェクトの配列を日付で並べ替えようとしていますか?

分類Dev

カスタムの並べ替え順序を使用したオブジェクトのArrayListの並べ替え

分類Dev

Swift4.2選択したプロパティと並べ替え順序を使用して配列を並べ替える

分類Dev

ベストプラクティス-Swiftで混合オブジェクトを並べ替える

分類Dev

Swift、インデックス付きの配列を使用して別の配列を並べ替える方法

分類Dev

Swiftを使用してTableViewセルをアルファベット順に並べ替える

分類Dev

Swift-オブジェクトの配列を別の配列のプロパティで並べ替える

分類Dev

NSFetchedResultsControllerを使用して記述子を並べ替える-Swift

分類Dev

Swift2.0オブジェクトの配列をプロパティで並べ替える

分類Dev

arrylistを使用してユーザー定義の並べ替えに従ってクラスオブジェクトを並べ替える方法は?

分類Dev

SwiftのNSPredicateを使用してCoreDataの結果を並べ替える

分類Dev

SwiftのNSPredicateを使用してCoreDataの結果を並べ替える

分類Dev

NSDate時間とString時間の混合によるオブジェクトのSwift配列の並べ替え

分類Dev

swift4でセルを並べ替えた後にtableViewの順序を保存する方法

分類Dev

Swift-日付配列に従って異なる配列を並べ替えます

分類Dev

カスタムオブジェクトを特定の順序で並べ替える

分類Dev

NSPredicateを使用してテーブルビューでコアデータを並べ替える(Swift)

分類Dev

プログラムでソート基準に基づいてセルを並べ替える方法SWIFT4

Related 関連記事

  1. 1

    Swift 3:オブジェクトの順序付きリストをプロパティで並べ替える

  2. 2

    Swift3でコアデータオブジェクトの配列を並べ替えてそのInt属性を並べ替える方法

  3. 3

    swift 3でカスタマイズされたステータス値でカスタムオブジェクトの配列を並べ替える方法は?

  4. 4

    Swift3でレルムオブジェクトをアルファベット順に並べ替える

  5. 5

    Swift3iOSの文字列パラメーターを使用してオブジェクトの配列を並べ替える

  6. 6

    Swiftの配列を最後のオブジェクトで並べ替える

  7. 7

    SwiftでNSDictionaryオブジェクトのNSArrayを並べ替える

  8. 8

    Swift:オブジェクトの配列をアルファベット順に並べ替え

  9. 9

    Swiftの与えられたインデックスに従って配列を並べ替えます

  10. 10

    Swiftで可能なすべてのシーケンスにオブジェクトの配列を並べ替えます

  11. 11

    Swiftで可能なすべてのシーケンスにオブジェクトの配列を並べ替えます

  12. 12

    (Swift 3)Swift 3でクラスオブジェクトの配列を日付で並べ替えようとしていますか?

  13. 13

    カスタムの並べ替え順序を使用したオブジェクトのArrayListの並べ替え

  14. 14

    Swift4.2選択したプロパティと並べ替え順序を使用して配列を並べ替える

  15. 15

    ベストプラクティス-Swiftで混合オブジェクトを並べ替える

  16. 16

    Swift、インデックス付きの配列を使用して別の配列を並べ替える方法

  17. 17

    Swiftを使用してTableViewセルをアルファベット順に並べ替える

  18. 18

    Swift-オブジェクトの配列を別の配列のプロパティで並べ替える

  19. 19

    NSFetchedResultsControllerを使用して記述子を並べ替える-Swift

  20. 20

    Swift2.0オブジェクトの配列をプロパティで並べ替える

  21. 21

    arrylistを使用してユーザー定義の並べ替えに従ってクラスオブジェクトを並べ替える方法は?

  22. 22

    SwiftのNSPredicateを使用してCoreDataの結果を並べ替える

  23. 23

    SwiftのNSPredicateを使用してCoreDataの結果を並べ替える

  24. 24

    NSDate時間とString時間の混合によるオブジェクトのSwift配列の並べ替え

  25. 25

    swift4でセルを並べ替えた後にtableViewの順序を保存する方法

  26. 26

    Swift-日付配列に従って異なる配列を並べ替えます

  27. 27

    カスタムオブジェクトを特定の順序で並べ替える

  28. 28

    NSPredicateを使用してテーブルビューでコアデータを並べ替える(Swift)

  29. 29

    プログラムでソート基準に基づいてセルを並べ替える方法SWIFT4

ホットタグ

アーカイブ